cardbus/pccard patch

Chris Turner c.turner at
Sat Jun 23 13:48:16 PDT 2007

Sepherosa Ziehau wrote:
> Hi all,
> Following patch updates our cardbus/pccard support:
> Developers and users that have laptops and run HEAD, please test it.
> I want to commit it before upcoming release.

Just tried this out, and it seems to improve the situation with my
Sony/Ericson GC89 / Broadcom BCM4344 GPRS/EDGE Modem discussed earlier[1].

Thanks! much better! just got a day or two back I'm sure :)

As that's the only cardbus card I've got, not sure if thats a good
"test", but feel free to apply your updates from where I'm sitting :)

cbb-related portions of boot -v attached - this was a pci cbb adapter,
I've not tried my laptop as it's running -RELEASE.

As far as sio(4) goes:

A 'clean' version of the sio(4) patch for the card is attached -
It probed OK, and I was able to talk via cu(1), but there's some
strangeness where after entering things like e.g. 'AT<ENTER>', most of
the time I have to hit a second '<ENTER>' before I get the 'OK' back
from the card, but somtimes it returns immediately.

There's also the occasional:

   sio4: 1 more silo overflow (total 1)

message. As such my ppp isn't working yet.. From watch(8)ing the
chatscript, it looks like ppp is timing out waiting on the OK reponses.
Didn't try forcing '\n' in the chats though (seems incorrect..), and
unfortunately I'm not enough of a RS-232 / ppp / Hayes modem guru to
know if I'm configuring things incorrectly or if this is something
that needs fixing in the driver.

For now, I'll try the various device attach flags relating to the
on-chip queues and see if anything helps there with the basic 'cu' test.
But.. If anyone has any suggestions there, like from experience with
dialup ISP's *ahem* :) please let me know...

Thanks in advance,

- Chris

(btw, thanks Matt last time for the "pointers" ha ha on checking the
 card addresses. Didn't get around to trying things yet for this one,
 which might have been a good thing (TM) here ... but in the future,
 good to know...)


Index: dev/serial/sio/sio.c
RCS file: /var/local/apps/dcvs/src/sys/dev/serial/sio/sio.c,v
retrieving revision 1.41
diff -u -p -r1.41 sio.c
--- dev/serial/sio/sio.c	9 May 2007 00:53:34 -0000	1.41
+++ dev/serial/sio/sio.c	23 Jun 2007 16:42:22 -0000
@@ -357,6 +357,7 @@ 	{ 0x95211415, "Oxford Semiconductor PCI
 	{ 0x7101135e, "SeaLevel Ultra 530.PCI Single Port Serial", 0x18 },
 	{ 0x0000151f, "SmartLink 5634PCV SurfRider", 0x10 },
 	{ 0x98459710, "Netmos Nm9845 PCI Bridge with Dual UART", 0x10 },
+	{ 0x434414e4, "Broadcom 4344 GPRS/EDGE Modem", 0x10 },
 	{ 0x00000000, NULL, 0 }
@@ -3052,6 +3053,7 @@ }
 DRIVER_MODULE(sio, isa, sio_isa_driver, sio_devclass, 0, 0);
 #if NPCI > 0
+DRIVER_MODULE(sio, cardbus, sio_pci_driver, sio_devclass, 0, 0);
 DRIVER_MODULE(sio, pci, sio_pci_driver, sio_devclass, 0, 0);
 #if NPUC > 0
Index: bus/pci/pcidevs
RCS file: /var/local/apps/dcvs/src/sys/bus/pci/pcidevs,v
retrieving revision 1.27
diff -u -p -r1.27 pcidevs
--- bus/pci/pcidevs	3 May 2007 07:58:06 -0000	1.27
+++ bus/pci/pcidevs	23 Jun 2007 16:43:23 -0000
@@ -1141,6 +1141,7 @@ /* Broadcom Corporation products */
 product BROADCOM BCM4306_2	0x4321	BCM4306 802.11a Wireless Lan
 product BROADCOM BCM4309	0x4324	BCM4309 802.11a/b/g Wireless Lan
 product BROADCOM BCM4306_3	0x4325	BCM4306 802.11b/g Wireless Lan
+product BROADCOM BCM4344	0x4344	BCM4344 GPRS/EDGE Modem
 product BROADCOM BCM4401	0x4401	BCM4401 10/100 Ethernet
 product BROADCOM 5801		0x5801	5801 Security processor
 product BROADCOM 5802		0x5802	5802 Security processor
. .. 
found->	vendor=0x1180, dev=0x0475, revid=0x81
	bus=0, slot=15, func=0
	class=[BRIDGE]06-07-00, hdrtype=0x02, mfdev=0
	subordinatebus=0 	secondarybus=0
	intpin=a, irq=255
. ..
cbb0: <RF5C475 PCI-CardBus Bridge> [tentative] at device 15.0 on pci0
cbb0: lazy allocation of 0x1000 bytes rid 0x10 type 3 at 0x80000000
cardbus0: <CardBus bus> [tentative] on cbb0
cardbus0: <CardBus bus> [attached!] on cbb0
pccard0: <16-bit PCCard bus> [tentative] on cbb0
pccard0: <16-bit PCCard bus> [attached!] on cbb0
pci_cfgintr_search: linked (62) to configured irq 11 at 0:14:0
pci_cfgintr: 0:15 INTA routed to irq 11
cbb0: PCI Configuration space:
  0x00: 0x04751180 0x02100007 0x06070081 0x00022000 
  0x10: 0x80000000 0x020000dc 0x20030200 0xfffff000 
  0x20: 0x00000000 0xfffff000 0x00000000 0xfffffffc 
  0x30: 0x00000000 0xfffffffc 0x00000000 0x0700010b 
  0x40: 0x00000000 0x00000001 0x00000000 0x00000000 
  0x50: 0x00000000 0x00000000 0x00000000 0x00000000 
  0x60: 0x00000000 0x00000000 0x00000000 0x00000000 
  0x70: 0x00000000 0x00000000 0x00000000 0x00000000 
  0x80: 0x00000001 0x00000000 0x04630463 0x00000000 
  0x90: 0x00000000 0x00000000 0x00000000 0x00000000 
  0xa0: 0x00000000 0x00000000 0x00000000 0x00000000 
  0xb0: 0x00000000 0x00000000 0x00000000 0x00000000 
  0xc0: 0x00000000 0x00000000 0x00000000 0x00000000 
  0xd0: 0x00000000 0x00000000 0x00000000 0xfe0a0001 
  0xe0: 0x24c04000 0x00000000 0x00000000 0x00000000 
  0xf0: 0x00000000 0x00000000 0x00000000 0x00000000 
cbb0: <RF5C475 PCI-CardBus Bridge> [attached!] mem 0x80000000-0x80000fff irq 11 at device 15.0 on pci0
pci0: <PCI bus> [attached!] on pcib0
pcib0: <Intel 82443BX (440 BX) host to PCI bridge> [attached!] on legacypci0
legacypci0 [attached!] on motherboard
. ..
found->	vendor=0x14e4, dev=0x4325, revid=0x03
	bus=2, slot=0, func=0
	class=[NETWORK]02-80-00, hdrtype=0x00, mfdev=1
	subordinatebus=0 	secondarybus=0
	intpin=a, irq=222
cardbus0: <unknown card> (vendor=0x14e4, dev=0x4325) at 0.0 irq 222
cardbus0: CIS pointer is 0!
cardbus0: Resource not specified in CIS: id=10, size=100
found->	vendor=0x14e4, dev=0x4344, revid=0x03
	bus=2, slot=0, func=1
	class=[SIMPLECOMM]07-00-02, hdrtype=0x00, mfdev=0
	subordinatebus=0 	secondarybus=0
	intpin=a, irq=222
sio4: configured irq 11 not in bitmap of probed irqs 0
sio4: irq maps: 0x1 0x1 0x1 0x1
sio4: <Broadcom 4344 GPRS/EDGE Modem> [tentative] port 0x1100-0x11ff irq 11 at device 0.1 on cardbus0
sio4: type 16550A
sio4: unable to activate interrupt in fast mode - using normal mode
sio4: <Broadcom 4344 GPRS/EDGE Modem> [attached!] port 0x1100-0x11ff irq 11 at device 0.1 on cardbus0
sio4: 1 more silo overflow (total 1)

More information about the Users mailing list