Subject: Re: USR PCI RapidCom Modem
To: None <port-i386@NetBSD.ORG>
From: Kent Polk <kent@tiamat.goathill.org>
List: port-i386
Date: 11/27/1999 20:15:39
On 20 Nov 1999 04:30:00 -0600, Rene Hexel wrote:
>Kent Polk wrote:
>
>> Any suggestions on the best way to try to configure it?
>
> Add the vendor/product codes to "pcidevs" in /sys/dev/pci. Then
>rebuild the corresponding .c/.h files using 'make -f Makefile.pcidevs'.
>Chances are good that the device acts like a normal serial
>communications (UART) device. To make this work, add an entry for your
>modem to 'pucdata.c' (also in /sys/dev/pci). Then configure/build a
>kernel with
>
>puc* at pci? dev ? function ? # PCI "universal" comm. cards
>com* at puc? port ? # 16x450s on puc boards
Ok... I can't find any documentation in dev/pci to explain exactly
what things are what and I haven't gotten it to work.
I added the USR defs in pcidevs and the following to pucdata.c :
/* 3Com US Robotics PCI 16550-compatible modem card */
{ "USR Modem PCI ",
{ 0x12b9, 0x1000, 0, 0 },
{ 0xffff, 0xffff, 0, 0 },
{
{ PUC_PORT_TYPE_COM, 0x10, 0x00 },
},
},
It appears that the first rval (pcireg_t rval[4]) is the manufacturer
id, but I can't determine what the others are for. The rmasks I'm
purely guessing at but since there's only one device on the card
I figure these would be a good start.
I assume the port bar is the base offset register, so I entered
the address obtained from the card dump, and I didn't see evidence
of an offset needed from the card dump.
Results:
$ ktrace dmesg
dmesg: kvm_read: kvm_read: Bad address (0x0)
$ kdump
368 ktrace RET ktrace 0
368 ktrace CALL __sysctl(0xefbfd34c,0x2,0xba68,0xefbfd348,0,0)
368 ktrace RET __sysctl 0
368 ktrace CALL break(0xbab0)
368 ktrace RET break 0
368 ktrace CALL break(0xbffc)
368 ktrace RET break 0
368 ktrace CALL break(0xcffc)
368 ktrace RET break 0
368 ktrace CALL execve(0xefbfd3b0,0xefbfd82c,0xefbfd834)
368 ktrace NAMI "/sbin/dmesg"
Thanks