[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Fixing Wireless PC Card 16550A UART Serial Device Assignment



Luke Anderson wrote:

On Friday 30 July 2004 19:56, Michael G. Morey wrote:
All,

I'm running Debian GNU/Linux 3.0r1 with hotplug, modutils, pciutils, and
usbutils back-ports from www.backports.org, on a Dell Latitude D800
laptop.  I'm running a custom Linux 2.4.26 kernel I've built from a
Debianized back-port, configured for 16550A UART support for PC card
devices.  I have a wireless modem PC card device, which maps alternately
to /dev/ttyS01 and /dev/ttyS02, seemingly at random.  I have a total of
three serial UART devices, and would like to have devices assigned
accordingly:

/dev/ttyS0:  built-in serial port
/dev/ttyS1:  Conexant HSF Softmodem with Linuxant driver
/dev/ttyS2:  Sony Ericsson EDGE PC Card GC82 wireless modem

On a good boot, the devices are assigned as follows:

ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttySHSF0 at I/O 0xb400 (irq = 11) is a Conexant HSF softmodem
ttyS02 at port 0x03e8 (irq = 3) is a 16550A

However, occasionally, the devices are assigned as follows:

ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttySHSF0 at I/O 0xb400 (irq = 11) is a Conexant HSF softmodem
ttyS01 at port 0x03e8 (irq = 3) is a 16550A

My dmesg output is attached.  I apologize if the attachment is not
accessible to some.

Does anyone know of a way that I fix the PC Card serial device
assignment permanently, to /dev/ttyS02?

In general, could anyone offer suggestions as how to fine-tune the
loading of device driver modules using the hotplug and/or modutils
packages?  When is hotplug appropriate, and when is it not?  Which
modules should be pre-loaded through /etc/modules?
I think you may have hit the nail on the head there, /etc/modules should be used for devices that you are going to use all the time, whereas hotplug is for things that aren't connected all the time.

The best solution would be to load the modules in /etc/modules.conf of the respective devices, in the order you want them used.

Seeing as you don't have enough devices and you want to use ttyS02, perhaps a link in dev would suffice?

cd /dev
rm ttyS02
ln ttyS01 ttyS02

Will cause ttyS01 and ttyS02 to refer to the same physical device.
This should sort out your problem.



Please advise me if I'm omitting any pertinent details regarding my
configuration.

Thanks in advance.

Michael


Actually, it's not the device file assignment which is the problem. It's the set of resources the device uses. The kernel reports the device at /dev/ttyS01 or ttyS02. The actual devices are /dev/ttyS1 or /dev/ttyS2. Regardless of the device file name, the IRQ and/or I/O memory ranges are different. My frustration lies in my ability to predict which IRQ and/or I/O memory range the device will be assigned at boot time. I'd like very much to fix these parameters, but do not know how to do so, since it seems to be under the control of the hotplug subsystem, which has its own idea of how to allocate device resources.

Michael

--
Michael Morey
Consultant
Optivel
Phone: 317.275.2306
E-mail: mmorey@optivel.com
Web: www.optivel.com




Reply to: