Xircom cardbus Realport Ethernet Modem combo

Michal Mertl mime at traveller.cz
Mon Apr 28 10:41:57 PDT 2003


On Mon, 28 Apr 2003, Robert [unknown-8bit] Blacquičre wrote:

> Hi,
>
> I'm running freebsd current on my toshiba portege 7220 cte. It runs
> great. Good work ;-) But have some issues with an Xircom combo card.
>  dmesg output piece:
>
> dc0: <Xircom X3201 10/100BaseTX> port 0x1000-0x107f mem
> 0x88002000-0x880027ff,0x88002800-0x88002fff irq 11 at device 0.0 on
> cardbus0
> dc0: Ethernet address: 00:10:a4:e8:e3:a3
> miibus0: <MII bus> on dc0
> tdkphy0: <TDK 78Q2120 media interface> on miibus0
> tdkphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
> sio4: <Xircom Cardbus modem> port 0x1080-0x1087 mem
> 0x88002000-0x880027ff,0x88002800-0x88002fff irq 11 at device 0.1 on
> cardbus0
> sio4: type 16550A
> cbb alloc res fail
>

That's unfortunately normal. There was a very brief period in -current
history when it worked. I have a patch which fixes the 'cbb alloc res
fail' and makes the modem working but there's still the panic on detach
(eject).

The rationale behind this patch is when sio attaches to the card it tries
to allocate the interrupt but does so without indicating the IRQ may be
shared. The IRQ is always shared with cardbus HW so the request fails.
This patch unconditionally changes any IRQ request to ask for shared one.

*** pccbb.c	Mon Apr 28 19:33:15 2003
--- pccbb.c.new	Mon Apr 28 19:29:23 2003
***************
*** 1445,1450 ****
--- 1445,1451 ----
  			    start, end, count);
  			return (NULL);
  		}
+ 		flags |= RF_SHAREABLE;
  		start = end = tmp;
  		break;
  	case SYS_RES_IOPORT:


I sent the patch to Warner Losh but he is probably busy with other things.

-- 
Michal Mertl
mime at traveller.cz


More information about the freebsd-mobile mailing list