Udev rules and built-in kernel modules

Lisa Kachold lisakachold at obnosis.com
Wed May 12 18:35:53 MST 2010


On Wed, May 12, 2010 at 6:27 PM, Lisa Kachold <lisakachold at obnosis.com>wrote:

>
>
> On Wed, May 12, 2010 at 5:52 PM, John <jharitos at yahoo.com> wrote:
>
>> Thanks for the help Lisa. The card worked for about a year without one
>> issue so I figured it was a hardware issue. I know one of my updates could
>> have caused an issue. I haven't added any new hardware as well so I don't
>> think it's not an IRQ issue.
>>
>>
>> >What is your distro and kernel version?  Are your kernel patches up to
>> date?
>> I'm running two versions of Ubuntu with one being 10.04 for my home PC and
>> 9.10 for my mythtv. Ultimately, I need the additional serial port in my
>> mythtv PC. Kernels are 2.6.31-20-generic for 9.10 and 2.6.32-22-generic for
>> 10.04. I tried the new serial card in both PCs and it doesn't work in
>> either.
>>
>>
>> >What is the name and serial number of the card?  Have you researched
>> drivers for your distro?
>> Info on my new card is very bleak as I've found nothing on the numbers
>> given in lspci 5372:6872.
>>
>> --- On *Tue, 5/11/10, Lisa Kachold <lisakachold at obnosis.com>* wrote:
>>
>>
>> From: Lisa Kachold <lisakachold at obnosis.com>
>> Subject: Re: Udev rules and built-in kernel modules
>> To: "Main PLUG discussion list" <plug-discuss at lists.plug.phoenix.az.us>
>> Date: Tuesday, May 11, 2010, 2:54 AM
>>
>>
>>
>>
>> On Sun, May 9, 2010 at 3:50 PM, John <jharitos at yahoo.com<http://mc/compose?to=jharitos@yahoo.com>
>> > wrote:
>>
>>> My computer setup needs two RS232 (serial) interfaces. I have the
>>> motherboard one and I also have a separate PCI card (4348:3253). The
>>> separate card has been going on the fritz since sometimes it just stops
>>> working. I bought another PCI serial card and I thought I could swap them
>>> out. Unfortunately, the new card (5372:6872) doesn't load the serial kernel
>>> driver like the old card. When I do a lspci -v for the old card it says
>>> kernel driver=serial and for the new card nothing is listed. I do an udevadm
>>> for both and the old one says serial and the new one says serial8250. Not
>>> sure why it doesn't say serial8250 when I do a lspci -v for the new card.
>>> Can you write a udev rule to load the correct built-in driver? Also, I did a
>>> cat on the modules.builtin and it shows serial_core.ko, 8250.ko,
>>> 8250_pnp.ko, 8250_pci.ko. I thought I would see a serial.ko and
>>> serial8250.ko as well. Any suggestions or am I out of luck on the serial
>>> card?
>>>
>>> An intermittant PCI card issue could actually be an IRQ or DMA, UART
>> issue.  What are your bios settings?  Have you verified that there is not a
>> conflict?
>>
>> There is a known UART bug (registered by Linus Torvalds) in Serial8250
>> fix-*serial-8250*-UART_BUG_TXEN-test:
>>
>> What is your distro and kernel version?  Are your kernel patches up to
>> date?
>>
>> What is the name and serial number of the card?  Have you researched
>> drivers for your distro?
>>
>>
>> --
>> Office: (480)307-8707
>> AT&T: (503)754-4452
>> Systems Engineer
>> www.ivedaxpress.com
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> -----Inline Attachment Follows-----
>>
>>
>>
>> Does lspci look like this?
>
> 01:08.0 Communication controller: Device 5372:6872 (rev 01)
>         Subsystem: LSI Logic / Symbios Logic Device 0002
>         Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
>
>         Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
>         Interrupt: pin A routed to IRQ 12
>         Region 0: I/O ports at df00 [size=8]
>         Region 1: I/O ports at de00 [size=8]
>
>         Region 2: I/O ports at dd00 [size=8]
>         Region 3: I/O ports at dc00 [size=8]
>         Region 4: I/O ports at db00 [size=8]
>         Region 5: I/O ports at da00 [size=16]
>
>
>
> Have you tried googling like this:
>
>
> http://www.google.com/search?hl=en&rlz=1G1GGLQ_ENUS300&q=LSI+Logic+Symbios+5372+6872&aq=f&aqi=&aql=&oq=&gs_rfai=
>
> or like this:?
>
>
> http://www.google.com/search?hl=en&rlz=1G1GGLQ_ENUS300&ei=DFDrS42WA8WqlAfew7GcBA&sa=X&oi=spell&resnum=0&ct=result&cd=1&ved=0CBEQBSgA&q=LSI+Logic+Symbios+5372+6872+Logic+Device+Spec+Cycle&spell=1
>
> I believe there might sufficient information to obtain the driver here:
>
>
> http://www.cs.fsu.edu/~baker/devices/lxr/http/source/linux/drivers/ieee1394/oui.db?v=2.6.11.8<http://www.cs.fsu.edu/%7Ebaker/devices/lxr/http/source/linux/drivers/ieee1394/oui.db?v=2.6.11.8>
>
> This looks interesting from googlecode:
>
>
> http://code.google.com/p/roboticsby/source/browse/trash/system+information+detection+module/video+card/pci_c_header.h?spec=svn5&r=5
>
> And there is this:
>
> *http://swiss.ubuntuforums.org/showthread.php?t=1477438*
>
> Have you tried:
>
> dmesg | grep Lsi
> dmesg | more
>
> Get vendor and product code
>
> Note if this is a usbserial device:
> modprobe usbserial vendor=0x4348 product=0x5523
>
> or
> modprobe serial vendor=0x5372 product=0x6872
>
>
> dmesg
>
> Near the end, you should see verification blah that it loaded successfully:
>
> or serial_generic #: loaded
> serial: attached to blah
> serial: registered new interface driver LSI
>
> Note you might also try:
>
> modprobe lsi
>
> dmesg
>
> See the full HowTo here:
> http://linux.about.com/od/srl_howto/a/hwtsrl07t03.htm
>
>
> Congratulations, your link is up! As much fun as you had doing this, there
> is some chance you want to do this automatically in the future. Just add
> this line:
>
> serial vendor=0x5372 product=0x6872
>
> to /etc/modules with the vendor and product numbers.
>
>  Now, you should have no problem using this device like a normal serial
> port. Hurrah! [image: grinning smiley]
>
>
> Also udev rules:

Since DOS provided for 4 serial ports on the old ISA bus: COM1-COM4, or
ttyS0-ttyS3 in Linux, most serial ports on the newer PCI bus used higher
numbers such as ttyS4 or ttyS14 (prior to kernel 2.6.13). But since most PCs
only came with one or two serial ports, ttyS0 and possibly ttyS1 (for the
second port) the PCI bus can now use ttyS2 (kernel 2.6.15 on). All this
permits one to have both ISA serial ports and PCI serial ports on the same
PC with no name conflicts. 0-1 (or 0-3) are reserved for the old ISA bus (or
the newer LPC bus) and 2-upward (or 4-upward or 14-upward) are used for PCI,
where older schemes are shown in parentheses . It's not required to be this
way but it often is.

If you're using udev (which puts only the device you have on your computer
into the /dev directory at boottime) then there's an easy way to change the
device names by editing files in /etc/udev/. For example, to change the name
of what the kernel detects as ttyS3 to what you want to name it: ttyS14, add
a line similar to this to /etc/udev/udev.rules
*BUS=="pci" KERNEL=="ttyS3", NAME="ttyS14"*

On-board serial ports on motherboards which have both PCI and ISA slots are
likely to still be ISA ports. Even for all-PCI-slot motherboards, the serial
ports are often not PCI. Instead, they are either ISA, on an internal ISA
bus or on a LPC bus which is intended for slow legacy I/O devices:
serial/parallel ports and floppy drives.
Go through boot log or dmesg for exact information after modprobe is
successful.

-- 
Office: (480)307-8707
AT&T: (503)754-4452
Systems Engineer
www.ivedaxpress.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.PLUG.phoenix.az.us/pipermail/plug-discuss/attachments/20100512/792b5d7b/attachment.htm>


More information about the PLUG-discuss mailing list