Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Jan 2005 13:28:10 +0100
From:      Robert Blacquiere <freebsd@guldan.demon.nl>
To:        Kevin Oberman <oberman@es.net>
Cc:        freebsd-mobile@FreeBSD.ORG
Subject:   Re: Xircom Realport Cardbus Ethernet 10/100 + Modem 56
Message-ID:  <20050120122810.GD61467@bombur.guldan.demon.nl>
In-Reply-To: <20050119220321.4A2E95D08@ptavv.es.net>
References:  <20050119195635.GC61467@bombur.guldan.demon.nl> <20050119220321.4A2E95D08@ptavv.es.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jan 19, 2005 at 02:03:21PM -0800, Kevin Oberman wrote:
<snip>
> Here is a kludge to make it work. The problem is probably a combination
> of a driver bug and a problem with busdma.
> 
> Scott Long has been looking into this, but I have not heard anything
> from him for a while, so I guess I'll need to jog his elbow. In any
> case, this patch should get you back on-line.


This patch prevents atleast the hang, but still the driver(s) can't locate io mem
or resources (i suspect). The interface will not be enabled. 

dc0: <Xircom X3201 10/100BaseTX> port 0x2100-0x217f mem \
0x88000000-0x880007ff,0x88000800-0x88000fff irq 11 \
at device 0.0 on cardbus1
dc0: MII without any PHY!
device_attach: dc0 attach returned 6
sio4: configured irq 11 not in bitmap of probed irqs 0
sio4: port may not be enabled
sio4: configured irq 11 not in bitmap of probed irqs 0
sio4: port may not be enabled
cardbus1: <simple comms, UART> at device 0.1 (no driver attached)
cbb1: CardBus card activation failed

I've tried setting hw.pci.allow_unsupported_io_range="1"
but that does not make any difference. 

Any clues to get this adaptor working?

Robert

Content-Description: if_dc.diff
> --- if_dc.c~	Fri Oct 15 17:53:44 2004
> +++ if_dc.c	Mon Dec 20 14:22:48 2004
> @@ -2151,8 +2151,8 @@
>  	}
>  
>  	/* Allocate a busdma tag for mbufs. */
> -	error = bus_dma_tag_create(NULL, PAGE_SIZE, 0, BUS_SPACE_MAXADDR_32BIT,
> -	    BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES * DC_TX_LIST_CNT,
> +	error = bus_dma_tag_create(NULL, 1, 0, BUS_SPACE_MAXADDR_32BIT,
> +	    BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES,
>  	    DC_TX_LIST_CNT, MCLBYTES, 0, NULL, NULL, &sc->dc_mtag);
>  	if (error) {
>  		printf("dc%d: failed to allocate busdma tag\n", unit);


-- 
Microsoft: Where do you want to go today?
Linux: Where do you want to go tomorrow?
FreeBSD: Are you guys coming or what?
OpenBSD: Hey guys you left some holes out there!



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050120122810.GD61467>