Date: Fri, 25 Jul 2008 17:30:01 -0400 From: Mike Tancsa <mike@sentex.net> To: Marcel Moolenaar <xcllnt@mac.com> Cc: freebsd-current@freebsd.org Subject: Re: PUC rewrite Message-ID: <200807252129.m6PLTwhs021540@lava.sentex.ca> In-Reply-To: <018816ED-8FF3-4834-AD17-59637C87D30D@mac.com> References: <200806061259.m56CxhdR045603@lava.sentex.ca> <018816ED-8FF3-4834-AD17-59637C87D30D@mac.com>
next in thread | previous in thread | raw e-mail | index | archive | help
At 12:02 PM 6/6/2008, Marcel Moolenaar wrote:
>On Jun 6, 2008, at 5:59 AM, Mike Tancsa wrote:
>
>>I have been starting to take a look at moving some of our embedded
>>platforms to RELENG_7 and noticed that support for the 3Com PCI
>>cards are broken. Previously, in pucdata.c, they were defined as
>>
>> /* US Robotics (3Com) PCI Modems */
>> { "US Robotics (3Com) 3CP5609 PCI 16550 Modem",
>> { 0x12b9, 0x1008, 0, 0 },
>> { 0xffff, 0xffff, 0, 0 },
>> {
>> { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
>> },
>> },
>>
>>
>>However, in the newer version they are not there, and uart is not
>>picking up the device.
>
>Since this is a single-port UART, puc(4) is not supposed to have
>support for it. The uart(4) can handle it without needing puc(4).
>However, that implies that uart(4) needs to have the support for
>it and I guess that's not present.
Hi,
I am finally getting back to this project again and am now
looking at a more recent version of RELENG_7 post the UART
re-write. It now shows a bit of a different problem. I have a 5501
Soekris and if I boot with uart just in the kernel, all seems to work
well. I updated the /boot/device.hints to reflect uart instead of sio
and I can see the system console. However, if I have the 3com PCI
modem installed, cuau0 becomes the modem and I am not able to login
via the console
1 FreeBSD
2 FreeBSD
Default: 1
/boot.config: -h
FreeBSD/i386 boot
Default: 0:ad(0,a)/boot/loader
boot: Consoles: serial port
BIOS drive C: is disk0
BIOS 639kB/261120kB available memory
FreeBSD/i386 bootstrap loader, Revision 1.1
(mdtancsa@releng7.sentex.ca, Wed Jul 23 12:29:59 EDT 2008)
Loading /boot/defaults/loader.conf
/boot/kernel/kernel text=0x36ab14 data=0x325e0+0x2182c
syms=[0x4+0x41890+0x4+0x544d6]
|
Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [/boot/kernel/kernel]...
Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.0-STABLE #0: Wed Jul 23 12:49:33 EDT 2008
mdtancsa@releng7.sentex.ca:/usr/obj/nanobsd.soekris5501/usr/src/sys/nano5501
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Geode(TM) Integrated Processor by AMD PCS (433.25-MHz 586-class CPU)
Origin = "AuthenticAMD" Id = 0x5a2 Stepping = 2
Features=0x88a93d<FPU,DE,PSE,TSC,MSR,CX8,SEP,PGE,CMOV,CLFLUSH,MMX>
AMD Features=0xc0400000<MMX+,3DNow!+,3DNow!>
real memory = 268435456 (256 MB)
avail memory = 253218816 (241 MB)
K6-family MTRR support enabled (2 registers)
cryptosoft0: <software crypto> on motherboard
pcib0: <Host to PCI bridge> pcibus 0 on motherboard
pci0: <PCI bus> on pcib0
Geode LX: Soekris net5501 comBIOS ver. 1.33 20070103 Copyright (C) 2000-2007
MFGPT bar: f00100006200
pci0: <encrypt/decrypt, entertainment crypto> at device 1.2 (no
driver attached)
vr0: <VIA VT6105M Rhine III 10/100BaseTX> port 0xe100-0xe1ff mem
0xa0004000-0xa00040ff irq 11 at device 6.0 on pci0
vr0: Quirks: 0x6
vr0: Revision: 0x96
miibus0: <MII bus> on vr0
ukphy0: <Generic IEEE 802.3u media interface> PHY 1 on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
vr0: Ethernet address: 00:00:24:ca:41:dc
vr0: [ITHREAD]
vr1: <VIA VT6105M Rhine III 10/100BaseTX> port 0xe200-0xe2ff mem
0xa0004100-0xa00041ff irq 5 at device 7.0 on pci0
vr1: Quirks: 0x6
vr1: Revision: 0x96
miibus1: <MII bus> on vr1
ukphy1: <Generic IEEE 802.3u media interface> PHY 1 on miibus1
ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
vr1: Ethernet address: 00:00:24:ca:41:dd
vr1: [ITHREAD]
vr2: <VIA VT6105M Rhine III 10/100BaseTX> port 0xe300-0xe3ff mem
0xa0004200-0xa00042ff irq 9 at device 8.0 on pci0
vr2: Quirks: 0x6
vr2: Revision: 0x96
miibus2: <MII bus> on vr2
ukphy2: <Generic IEEE 802.3u media interface> PHY 1 on miibus2
ukphy2: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
vr2: Ethernet address: 00:00:24:ca:41:de
vr2: [ITHREAD]
vr3: <VIA VT6105M Rhine III 10/100BaseTX> port 0xe400-0xe4ff mem
0xa0004300-0xa00043ff irq 12 at device 9.0 on pci0
vr3: Quirks: 0x6
vr3: Revision: 0x96
miibus3: <MII bus> on vr3
ukphy3: <Generic IEEE 802.3u media interface> PHY 1 on miibus3
ukphy3: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
vr3: Ethernet address: 00:00:24:ca:41:df
vr3: [ITHREAD]
uart0: <Non-standard ns8250 class UART with FIFOs> port 0xe500-0xe507
irq 10 at device 14.0 on pci0
uart0: [FILTER]
isab0: <PCI-ISA bridge> at device 20.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <AMD CS5536 UDMA100 controller> port
0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xe000-0xe00f at device 20.2 on pci0
ata0: <ATA channel 0> on atapci0
ata0: [ITHREAD]
ata1: <ATA channel 1> on atapci0
ata1: [ITHREAD]
ohci0: <OHCI (generic) USB controller> mem 0xa0005000-0xa0005fff irq
15 at device 21.0 on pci0
ohci0: [GIANT-LOCKED]
ohci0: [ITHREAD]
usb0: OHCI version 1.0, legacy support
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: <AMD OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
uhub0: 4 ports with 4 removable, self powered
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xa0006000-0xa0006fff
irq 15 at device 21.1 on pci0
ehci0: [GIANT-LOCKED]
ehci0: [ITHREAD]
usb1: EHCI version 1.0
usb1: companion controller, 4 ports each: usb0
usb1: <EHCI (generic) USB 2.0 controller> on ehci0
usb1: USB revision 2.0
uhub1: <AMD EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb1
uhub1: 4 ports with 4 removable, self powered
cpu0 on motherboard
orm0: <ISA Option ROM> at iomem 0xc8000-0xd27ff pnpid ORM0000 on isa0
uart1: <16550 or compatible> at port 0x2f8-0x2ff irq 3 on isa0
uart1: [FILTER]
Timecounter "TSC" frequency 433251618 Hz quality 800
Timecounters tick every 1.000 msec
IPsec: Initialized Security Association Processing.
ad0: 1953MB <SanDisk SDCFH2-002G HDX 4.32> at ata0-master PIO4
Trying to mount root from ufs:/dev/ad0s1a
pid 106 (fsck_ufs), uid 0: exited on signal 8
vr0: link state changed to UP
vr1: link state changed to DOWN
pflog0: promiscuous mode enabled
<it stops output at this point>
the device.hints looks like
hint.uart.0.at="isa"
hint.uart.0.port="0x3F8"
hint.uart.0.flags="0x10"
hint.uart.0.irq="4"
hint.uart.1.at="isa"
hint.uart.1.port="0x2F8"
hint.uart.1.irq="3"
hint.uart.2.at="isa"
#hint.uart.2.disabled="1"
hint.uart.2.port="0x3E8"
hint.uart.2.irq="5"
hint.uart.3.at="isa"
#hint.uart.3.disabled="1"
hint.uart.3.port="0x2E8"
hint.uart.3.irq="11"
uart0@pci0:0:14:0: class=0x070002 card=0x00d312b9
chip=0x100812b9 rev=0x01 hdr=0x00
vendor = '3COM Corp, Modem Division (Formerly US Robotics)'
device = 'USR5610B USR5610B (0005610-02) 56K Performance Pro
Modem (PCI Internal)'
class = simple comms
subclass = UART
How can I force the PCI modem *not* to be uart0 so that the onboard
com ports show up?
# cu -l /dev/cuau0
Connected
ati3
U.S. Robotics 56K FAX INT V5.22.91
OK
~
[EOT]
Without the modem installed, the bootup looks like this
ata1: <ATA channel 1> on atapci0
ata1: [ITHREAD]
ohci0: <OHCI (generic) USB controller> mem 0xa0005000-0xa0005fff irq
15 at device 21.0 on pci0
ohci0: [GIANT-LOCKED]
ohci0: [ITHREAD]
usb0: OHCI version 1.0, legacy support
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: <AMD OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
uhub0: 4 ports with 4 removable, self powered
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xa0006000-0xa0006fff
irq 15 at device 21.1 on pci0
ehci0: [GIANT-LOCKED]
ehci0: [ITHREAD]
usb1: EHCI version 1.0
usb1: companion controller, 4 ports each: usb0
usb1: <EHCI (generic) USB 2.0 controller> on ehci0
usb1: USB revision 2.0
uhub1: <AMD EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb1
uhub1: 4 ports with 4 removable, self powered
cpu0 on motherboard
orm0: <ISA Option ROM> at iomem 0xc8000-0xd27ff pnpid ORM0000 on isa0
uart0: <16550 or compatible> at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
uart0: [FILTER]
uart0: console (9600,n,8,1)
uart1: <16550 or compatible> at port 0x2f8-0x2ff irq 3 on isa0
uart1: [FILTER]
RTC BIOS diagnostic error c0<clock_battery,ROM_cksum>
Timecounter "TSC" frequency 499903954 Hz quality 800
Timecounters tick every 1.000 msec
IPsec: Initialized Security Association Processing.
ad0: 1953MB <SanDisk SDCFH2-002G HDX 4.32> at ata0-master PIO4
---Mike
>>In the new re-write, what is the proper way to add support for
>>devices no longer recognized ?
>
>Add the PCI Ids to uart_bus_pci.c. Keep the list of Ids sorted,
>because it's assumed by uart_pci_match().
>
>If you can send me a patch, I'll commit to head and stable.
>
>FYI,
>
>--
>Marcel Moolenaar
>xcllnt@mac.com
>
>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200807252129.m6PLTwhs021540>
