Return to the archive index

Re: Advantech info?

From: Doug Sutherland <>
Date: Wed, 1 Nov 2000 03:19:12 -0800

Joseph Near wrote:

> I'm looking to build an SBC-based wearable and it looks like 
> the preferred board is the Advantech PCM-5822.

I don't know if it's the preferred board, but there has been 
lots of discussion about it recently. I am using this board 
and am pleased with the small footprint, low cost, and 
onboard audio. Note that the audio works for playback but 
not recording and duplex operation in linux.

> What would I need to get it running?

You need a 144-pin SO-DIMM RAM module, a standard 2.5" 
laptop hard drive and standard keyboard, mouse, and 
monitor, plus a 5 volt power supply. You can use power 
from a desktop PC by extending one of the power cables. 
The power connector on the PCM-5822 is the same as 
what's inside your desktop PC. To go mobile you will 
need a small regulator, I am using the powertrends 
PT6302A available at Digikey for $22.

> It says it supports two IDE devices....can I just hook up 
> a CDROM and a hard drive and install Linux? 

The problem is that the IDE interface is the smaller 
44-pin variety, not the standard 40-pin cable that 
desktop PCs use. 

> Do I need an extra cable to get a regular IDE connector?

This is a problem I haven't solved. There are converters
from 40-pin IDE to 44-pin, allowing you to use a small 
2.5" (44-pin) HDD with a standard IDE (40-pin) cable.
Unfortunately, I have not seen cables that work in the 
opposite direction (44-pin to 40-pin) which would allow
you to hook up a CD-ROM drive to the PCM-5822. Here are 
some alternate ways to get linux going on the PCM-5822.

1) If you have a laptop with CD-ROM onboard and slot 
   for a 2.5" HDD, just install linux on the laptop 
   and then move the HDD to the PCM-5822. This is 
   the easiest install method.

2) If you have a desktop PC with CD-ROM, you can get 
   one of the 40-pin to 44-pin IDE converter cables,
   connect the 2.5" HDD to the desktop PC, install 
   linux, and then move the HDD to the PCM-5822. 
   This is also a very easy install method.

3) You can create a network boot image on floppy
   disk and install over the network via HTTP, FTP,
   or NFS. You can actually install from the redhat 
   web site this way, but it will be slow. 

4) A better solution is to copy the contents of the
   linux CD to a web server on a LAN and do the 
   network install from there. 

> And, the webpage tells you almost nothing about size. 
> Sure, it's 14cm X 10cm but how tall is it?

It is very slim, approx 3/4 inches.

> I have heard that all the connectors are on one side.
> What connectors does it have?

Along the edge are the following connectors: DB9
RS232 serial port, RJ45 ethernet, PS/2 keyboard
and mouse, DB15 VGA, and both RCA and S-Video 
ports for TV output. There is an additional 
cable that plugs into a header for the second 
serial port. Another cable plugs into a header 
for the audio, there are 3.5mm jacks for line
in, line out, mic in, and speakers left and 
right. The rest of the connectors (IDE, FDD,
LCD, etc) are headers or sockets on the board.

> How many serial ports? I think it says two on

Two serial ports.

> Third, what's supported under Linux? I have 
> heard people say that playback is supported 
> on the MediaGX chip but record isn't.

I have x-windows and audio playback working 
nicely. No problems with standard keyboards,
mice, or twiddler.

> I have also heard that the TV out is supported

Yes, this is a nice bonus feature to have since
TVs are ubiquitous and you can connect directly
to any NTSC device (PLM-A35 glasstron and even
small NTSC LCDs).

> Fourth...power. I am supposed to use two sony 
> li-ions right?

That's entirely up to you. I have been running 
on a single laptop battery (10.8 volt 3200 mah)
for two hours now and it's still running. Will
be doing some detailed power tests soon.  

> Then a DC-DC converter.

Simple and small solution: powertrends PT6302A.

> But do I run the sonys in series or parallel?

That's also up to you. 

Below is a bunch of detailed install info for 
this particular board.

Have fun,
Doug

Linux Install on Advantech PCM-5822
-----------------------------------

I have a really good system for installing and configuring
my wearables. It makes it easy to rebuild entire drives,
keep backups of important files, and install on other hard
drives. It also takes a lot of the grief out of problems 
with difficulties in attaching CD-ROM drives to embedded 
PCs to load the operating system. Following is description  
of my wearable software config system.

Embedded/Mobile Challenges

I have had lots of difficulty attaching CD-ROM drives to 
single board computers. Many of the SBCs use the smaller
44-pin IDE connectors, but all of my CD-ROMs use the 
standard 40-pin IDE connectors as per desktop PCs. Besides,
I don't want to use CD-ROMs at all, I either want to have
what I need on the local HDD or available on the net. One 
of the great things about Linux is that it is very portable 
between systems, even different motherboards and standard
peripherals from different OEM vendors.

Dual Boot System 

I want to have a Win95 partition on my machines for the few 
occassions where I need to run win32 apps. I need windows 
for my microcontroller programming environments and a couple 
of biofeedback apps. Windows is not as friendy to moves 
between machines, but I have a system that works well.
My target system is a dual boot of Win95 and Redhat 6.2 on 
the Advantech PCM-5822 SBC. Rather than trying to install 
directly to the SBC, I install the 2.5" drive into a desktop 
machine with CD-ROM. 

Creating a DOS Boot Disk

My first step is to create a DOS boot disk. I open up
a DOS shell in Win95 and do a FORMAT A:/S which makes
a bootable floppy. I also copy the following onto the
floppy disk:

- FDISK.EXE program to DOS partition the hard drive 
- FORMAT.COM program to DOS format the hard drive
- MSCDEX.EXE cd-rom extensions file
- whatever driver is needed for my CD-ROM drive

Creating DOS Partitions and FAT file system 

I install the laptop hard drive in the desktop PC using 
a 40-to-44 pin adapter (purchased at Fry's Electronics). 
I then boot from the DOS disk and run the FDISK utility, 
creating a primary DOS partition of 1GB, and make the 
partition active. I also run FORMAT C: to set up the 
FAT file system on the HDD for windows install.

Clearing out the Master Boot Record

Here's an unadvertised but critical feature of the DOS
FDISK.EXE utility: sometimes LILO may be sitting in the 
master boot record from a prior linux install, thus 
causing the system to be unbootable in DOS or Windows
upon fresh install. The unadvartized feature of FDISK 
is the /MBR (master boot record) flag. If you have done 
a prior linux install and need to clear the master boot 
record, boot with the DOS boot disk and do FDISK /MBR   

Windows Install on Desktop Machine

I then run the Win95 install from CD-ROM and install any 
windows software that I need. I also load the Advantech 
drivers and utilities from the CD-ROM supplied from 
Advantech. I am using 6GB drives which gives me lots of 
room. I want to eliminate the need for CD-ROM on the 
wearable system. Since windows is not very portable 
(always asking for the Win95 CD), I copy the contents 
of the Win95 CD (minus demos) onto my hard drive. This 
way I have an entire set of all of the drivers and cab 
files for Win95 on my local hard drive. If I ever insert 
a pcmcia card or other plug and play device, and the 
system asks for the Win95 CD, I just point it to the 
directory on the local HDD. This will come in handy when 
the HDD is moved to the Advantech SBC without CD-ROM :)

Windows Configuration on Single Board Computer

After windows is installed and I have loaded all of my 
windows software from CD-ROM, I power down the desktop 
machine and move the HDD to the Advantech SBC. When 
windows boots it finds all of the new hardware and asks 
for the Windows CD-ROM. Instead I point it to the 
directory where I have copied the Win95 CD-ROM contents,
and everything configures fine. I already have the 
Advantech drivers on the HDD, so I go ahead and configure 
audio, video, and ethernet. There are also some special 
primary and secondary IDE drivers for the Advantech 
PCM-5822 (tricky to install, you have to remove the 
default IDE drivers, reboot, and load the replacement 
drivers provided by Advantech). Since I have all of 
the original Win95 drivers and cab files on my local 
hard drive, I should never need to insert that Win95 
CD-ROM again. Thank goodness.

Linux Network Distribution

For linux install, what I do is copy all of the Linux 
distribution CDs onto a web server on my LAN, and place 
then in an http directory where they are accessible. 
This way I always have a complete set of all linux 
packages/docs/powertools/etc available on the net at 
any time. It allows me to install linux from anywhere 
I can find a machine with a floppy drive that's 
connected to the net. It also makes it very easy to 
replicate entire systems so you always have a complete 
replacement HDD available in case one fails (they 
will eventually!).

Creating Network Boot Image on Floppy Disk

In order to do a network install, I first need to create 
a network boot image on floppy. The image files are on 
the redhat CD for standard boot, network boot, and 
pcmcia boot (if you need the pcmcia for ethernet). The 
floppies can be created on a windows machine by using 
the rawrite.exe utility that's on the redhat CD-ROM. 

To create the boot floopy on DOS/windows:

- format a floppy disk
- run the rawrite.exe program in dos shell
- enter the name of the boot image file
(in this case bootnet.img for network boot)

To create the boot floppy on linux:

- dd if=bootnet.img of=/dev/fd0 bs=1440 

Installing Linux from Network

I connect a floppy drive to the SBC and boot from the 
network boot image on floppy. Redhat Linux automatically 
finds the Realtek ethernet driver and asks me to enter 
my network info (IP address, subnet mask, etc). I choose 
the HTTP method for install and point to my server which 
has all of the redhat CD contents on web server. Once I 
point to the root dir of first cdrom, it is no different 
than installing from CD.

Intalling PCMCIA hardware 

Before doing the redhat install on the Advantech SBC, I 
plug in a PC/104 PCMCIA reader, this ensures that the 
system is set up with pcmcia configured and running
out of the box. I can choose to remove the PCMCIA module 
from my system and only use it when needed. I like to 
ditch this modules as much as possible and run with only 
the SBC plus ricochet wireless modem. I do however want 
to have it available to add access to pcmcia ethernet 
(ranglan2 and/or symphony) and pcmcia CD-ROM drive. 

May The Force^H^H^H^H^^H Drivers be With You! 

This system gives me a lot of protection from lost 
drivers etc and allows me to build systems quickly and 
easily. I always have the entire Win95 distribution on 
HDD (it's not very big, I wouldn't try this with Win98/
NT/2000). I also have all of the linux distro contents 
on my web server. If I ever need to load an additional 
package I just point to the web URL where I have redhat 
available. I can actually create a system from anywhere 
in the world from scratch as long as I have a machine 
with FDD connected to the net. I can download the boot 
image file from my web server, download the rawrite.exe 
file, and create a floopy, reboot and run the redhat 
install from across the world!

Adding Disk Sync Flags in fstab

Once I have redhat on my system, there are only a few 
steps needed to configure the system. Note that these
configuration examples below are for Redhat 6.2, your
smileage may vary. I usually add sync flags in my 
/etc/fstab to help eliminate trashing the kernel if my 
system dies unexpectedly (it does ...). This isn't the 
best or most efficient solution, but it's easy and 
works. This protects me from those nasty boot msgs 
that drop me into single user mode to run fsck 
manually, followed by prayers that the kernel is 
still bootable (sometimes it isn't without sync).  
Here is an example of my /etc/fstab:

/dev/hda2  /            ext2    defaults,sync   1 1
/dev/fd0   /mnt/floppy  auto    noauto,owner    0 0
none       /proc        proc    defaults        0 0
none       /dev/pts     devpts  gid=5,mode=620  0 0
/dev/hda5  swap         swap    defaults        0 0

The only change from default is the addition of the 
"sync" attribute for /dev/hda2.

Linux Access to FAT file System

I usually create a /mnt/dos directory in case I need to 
copy files from linux to win95 or vice versa. If I want 
to do this, I can mount the windows file system as 
follows: mount -t msdos /dev/hda1 /mnt/dos

Linux Modules Configuration

I have a standard /etc/conf.modules file that has entries 
for the onboard Realtek ethernet, onboard audio, and also 
a pcmcia ethernet card (rangelan). My /etc/conf.modules 
file looks like this:

alias parport_lowlevel parport_pc 

alias eth0 rtl8139 

alias eth1 rlmod 
options rlmod CardType=3 
post-install rlmod /usr/local/bin/proxcfg dev eth1 alt domain 1 name MYLINUX 

alias sound-slot-0 sb 
options sound dmabuf=1 
alias midi opl3 
options opl3 io=0x388 
options sb io=0x220 irq=5 dma=0 dma16=5 mpu_io=0x330 

Configuring Proxim PCMCIA Ethernet

If you want to add PCMCIA ethernet to the Advantech PCM-5822 system,
you can get a PC/104 module from http://www.intelec-tech.com/ and 
use either the Ragelan2 or Symphony pcmcia cards (they both work 
with the same driver and configuration). The drivers for Proxim on
linux are available at http://www.komacke.com/. Installation is 
as follows:

- you need to configure the pcmcia to make the header files
available for the ethernet driver compilaton. To do this 
just do the following:

cd /usr/src/linux/pcmcia-cs-3.1.8 (or whatever your version)
make config
specify /usr/src/linux as the source tree
specify read from the running kernel

- you do NOT have to compile the pcmcia system, all you need
to do is run the make config to prepare for the proxim 
driver install. 

- tar xzvf the proxim driver file and do the following:

make config (select CardType=3 for PCMCIA support)
make modules modules_install

- Add the following lines to /etc/pcmcia/config:

device "rlmod"
class "network" module "net/rlmod"

card "Proxim RangeLAN2 7400 PC Card"
version "PROXIM", "LAN PC CARD", "RANGELAN2"
bind "rlmod"

card "Proxim Symphony PC Card"
version "PROXIM", "LAN PC CARD", "SYMPHONY"
bind "rlmod"

card "Proxim RangeLAN2 7200 PC Card"
version "PROXIM", "LAN CARD", "RANGELAN2"
bind "rlmod"

- add the following lines to /etc/conf.modules:

alias eth1 rlmod 
options rlmod CardType=3 
post-install rlmod /usr/local/bin/proxcfg dev eth1 alt 
domain 1 name MYLINUX

- power down, insert pcmcia card, reboot

- configure the eth1 device with linuxconf

X-Windows Configuration for MediaGX

Although Redhat lists MedgiaGX in the Xconfigurator tool, I 
have never been able to get X configured with these tools
on Redhat. I discovered that the "sax" X configuration tool
on Suse Linux worked with MediaGX, so I configured X on a 
Suse distribution and saved the XF86Config file. Since this
is a real PITA, and to make this complete, I might as well
post my working XF86Config file below. To install this on 
your machine, paste this into a file called XF86Config
and copy it to /etc/X11 (save your old one just in case!)
Sorry for the bandth width, but here's the XF86Config:

# SaX autogenerated XF86Config file
# This file was generated from the SaX
# Version: 2.8 - 
# Date: Wed Sep  6 06:12:45 PDT 2000
# Xserver:SVGA
# MouseVendor:Unknown
# MouseName:Unknown
# RamDac:121
# Dac8:121
# Dac16:121
# Dac24:
# Dac32:

Section "Files"
RgbPath        "/usr/X11R6/lib/X11/rgb"
FontPath       "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
FontPath       "/usr/X11R6/lib/X11/fonts/local"
FontPath       "/usr/X11R6/lib/X11/fonts/misc:unscaled"
FontPath       "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
FontPath       "/usr/X11R6/lib/X11/fonts/Type1"
FontPath       "/usr/X11R6/lib/X11/fonts/URW"
FontPath       "/usr/X11R6/lib/X11/fonts/Speedo"
FontPath       "/usr/X11R6/lib/X11/fonts/misc"
FontPath       "/usr/X11R6/lib/X11/fonts/75dpi"
FontPath       "/usr/X11R6/lib/X11/fonts/100dpi"
FontPath       "/usr/X11R6/lib/X11/fonts/PEX"
FontPath       "/usr/X11R6/lib/X11/fonts/cyrillic"
FontPath       "/usr/X11R6/lib/X11/fonts/hellas/misc"
FontPath       "/usr/X11R6/lib/X11/fonts/hellas/75dpi"
FontPath       "/usr/X11R6/lib/X11/fonts/hellas/100dpi"
FontPath       "/usr/X11R6/lib/X11/fonts/hellas/Type1"
FontPath       "/usr/X11R6/lib/X11/fonts/latin2/misc"
FontPath       "/usr/X11R6/lib/X11/fonts/latin2/75dpi"
FontPath       "/usr/X11R6/lib/X11/fonts/latin2/100dpi"
FontPath       "/usr/X11R6/lib/X11/fonts/latin7/75dpi"
FontPath       "/usr/X11R6/lib/X11/fonts/kwintv"
FontPath       "/usr/X11R6/lib/X11/fonts/truetype"
FontPath       "/usr/X11R6/lib/X11/fonts/ucs/misc"
FontPath       "/usr/X11R6/lib/X11/fonts/ucs/75dpi"
FontPath       "/usr/X11R6/lib/X11/fonts/ucs/100dpi"
FontPath       "/usr/X11R6/lib/X11/fonts/uni"
FontPath       "/usr/X11R6/lib/X11/fonts/xtest"
EndSection

Section "ServerFlags"
AllowMouseOpenFail
EndSection

Section "Module"
EndSection

# This section is no longer supported
# See a template below
# Section "XInput"
# EndSection

Section "Keyboard"
Protocol       "Standard"
XkbRules       "xfree86"
XkbModel       "pc104"
XkbLayout      "us"
EndSection

Section "Pointer"
Protocol               "PS/2"
Device                 "/dev/psaux"
SampleRate             61
Emulate3Buttons
Emulate3Timeout        200
BaudRate               1200
EndSection

Section "Monitor"        
Identifier     "Primary-Monitor"
VendorName     "Unknown"
ModelName      "Unknown"
HorizSync      29-64
VertRefresh    47-90
Modeline "1600x1000" 120.85 1600 1616 1968 2080 1000 1000 1008 1044
Modeline "1280x960" 106.50 1280 1296 1552 1664 960 960 970 1003
Modeline "1024x768" 84.99 1024 1040 1216 1328 768 768 778 802
Modeline "640x480" 37.44 640 656 720 832 480 480 486 501
Modeline "1600x1200" 120.85 1600 1616 1968 2080 1200 1200 1208 1253
Modeline "1280x1024" 106.50 1280 1296 1552 1664 1024 1024 1034 1070
Modeline "1152x864" 95.74 1152 1168 1384 1496 864 864 874 902
Modeline "800x600" 58.55 800 816 928 1040 600 600 608 626
EndSection

Section "Device"
Identifier     "Primary-Card"
VendorName     "---AUTO DETECTED---"
BoardName      "---AUTO DETECTED---"
Chipset        "mediagx"
EndSection

Section "Screen"  
Driver         "SVGA"
Device         "Primary-Card"
Monitor        "Primary-Monitor"
DefaultColorDepth      8
SubSection "Display"
Depth        32
Modes        "640x480" 
EndSubSection
SubSection "Display"
Depth        24
Modes        "640x480" 
EndSubSection
SubSection "Display"
Depth        16
Modes        "640x480" 
EndSubSection
SubSection "Display"
Depth        8
Modes        "640x480" 
Virtual      640 480
EndSubSection
EndSection

Section "Screen"  
Driver         "Accel"
Device         "Primary-Card"
Monitor        "Primary-Monitor"
DefaultColorDepth      8
SubSection "Display"
Depth        32
Modes        "640x480" 
EndSubSection
SubSection "Display"
Depth        24
Modes        "640x480" 
EndSubSection
SubSection "Display"
Depth        16
Modes        "640x480" 
EndSubSection
SubSection "Display"
Depth        8
Modes        "640x480" 
Virtual      640 480
EndSubSection
EndSection

+Previous Message in Thread | Next Message in Thread

From Wear-Hard Mailing list Archive (WH)
Maintained by R. Paul McCarty

Archive created with babymail