Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 Jul 2005 14:52:55 +0200
From:      Miguel Mendez <flynn@energyhq.es.eu.org>
To:        Danovitsch@Vitsch.net
Cc:        freebsd-mobile@freebsd.org
Subject:   atuwi on 6.0-BETA1
Message-ID:  <20050716145255.7f3478c4.flynn@energyhq.es.eu.org>

next in thread | raw e-mail | index | archive | help
--Signature=_Sat__16_Jul_2005_14_52_55_+0200_U/aBIrAtSSP6gO8m
Content-Type: multipart/mixed;
	boundary="Multipart=_Sat__16_Jul_2005_14_52_55_+0200_naJ+n0VpCMltbDF+"


--Multipart=_Sat__16_Jul_2005_14_52_55_+0200_naJ+n0VpCMltbDF+
Content-Type: text/plain; charset=US-ASCII
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi there,

I have a Gericom X5 laptop with an integrated USB wifi adapter, and I'm
trying to make it work with FreeBSD 6.0-BETA1. I've downloaded your
driver and modified some bits to make it work with 6.0. The module
builds fine, but the firmware is never uploaded. I turn the adapter on
and the kernel finds it, but nothing happens. When I turn it off I see
this:

Turn on...

Jul 16 14:38:35 laptop kernel: atuwi0: vendor 0x09aa product 0x3642, rev 1.=
10/1.32, addr 2=20
Jul 16 14:38:35 laptop kernel: atuwi0: req=3D33 val=3D01 ind=3D00 len=3D01=
=20

Turn off...

Jul 16 14:42:42 laptop kernel: atuwi0: transfered 0x0 bytes in=20
Jul 16 14:42:42 laptop kernel: atuwi0: dump [c0 d2 f2 12 00 00 00 00 00 09]=
=20
Jul 16 14:42:42 laptop kernel: atuwi0: starting internal firmware download=
=20
Jul 16 14:42:42 laptop kernel: atuwi0: loading Intersil firmware...=20
Jul 16 14:42:42 laptop kernel: atuwi0: req=3D05 val=3D00 ind=3D00 len=3D01=
=20
Jul 16 14:42:42 laptop kernel: atuwi0: transfered 0x0 bytes in=20
Jul 16 14:42:42 laptop kernel: atuwi0: dump [c1 58 73 84 cb d2 c6 af c1 00]=
=20
Jul 16 14:42:42 laptop kernel: atuwi0: state !=3D manifestsync... eek!=20
Jul 16 14:42:42 laptop kernel: atuwi0: req=3D03 val=3D00 ind=3D00 len=3D06=
=20
Jul 16 14:42:42 laptop kernel: atuwi0: transfered 0x0 bytes in=20
Jul 16 14:42:42 laptop kernel: atuwi0: dump [25 87 b0 c1 b0 4d 58 c0 44 73]=
=20
Jul 16 14:42:42 laptop kernel: atuwi0: dfu_getstatus failed!=20
Jul 16 14:42:42 laptop kernel: device_attach: atuwi0 attach returned 6=20
Jul 16 14:42:42 laptop kernel: atuwi0: at uhub2 port 1 (addr 2) disconnected

This is the output of usbdevs...

laptop# usbdevs -v
Controller /dev/usb0:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), VIA
(0x0000), rev 1.00 port 1 addr 2: low speed, power 100 mA, config 1,
product 0x1111(0x1111), vendor 0x1241(0x1241), rev 4.30 port 2 powered
Controller /dev/usb1:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), VIA
(0x0000), rev 1.00 port 1 powered
 port 2 powered
Controller /dev/usb2:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), VIA
(0x0000), rev 1.00 port 1 addr 2: full speed, power 500 mA, config 1,
(0x3642), vendor 0x09aa(0x09aa), rev 1.32 port 2 powered
Controller /dev/usb3:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), VIA
(0x0000), rev 1.00 port 1 powered
 port 2 powered

According to usbdevs, product 0x3642 from vendor 0x09aa is an Intersil
Prism 2x. Do you have an idea of why the kernel fails to upload the
firmware?

I'm attaching the modified if_atuwi.c with my modifications for it to
build on 6.0-BETA1 and the added support for my Intersil device.

Thanks in advance,
--=20
Miguel Mendez <flynn@energyhq.es.eu.org>
http://www.energyhq.es.eu.org
PGP Key: 0xDC8514F1


--Multipart=_Sat__16_Jul_2005_14_52_55_+0200_naJ+n0VpCMltbDF+
Content-Type: text/plain;
 name="if_atuwi.c.diff"
Content-Disposition: attachment;
 filename="if_atuwi.c.diff"
Content-Transfer-Encoding: quoted-printable

--- if_atuwi.c.old	Mon Oct 25 13:31:26 2004
+++ if_atuwi.c	Sat Jul 16 14:50:31 2005
@@ -62,6 +62,7 @@
 #include <net/if_arp.h>
 #include <net/ethernet.h>
 #include <net/if_media.h>
+#include <net/if_types.h>
=20
 #include <net/bpf.h>
=20
@@ -272,6 +273,9 @@
 	/* 0x04a5		0x9000 */
 	{ USB_VENDOR_ACERP,	USB_PRODUCT_ACERP_AWL300,
 	  RadioIntersil,	ATUWI_NO_QUIRK },
+	/* 0x09aa		0x3642 */
+	{ USB_VENDOR_INTERSIL,	USB_PRODUCT_INTERSIL_PRISM_2X,
+	  RadioIntersil,	ATUWI_NO_QUIRK },
 #endif
 	{ 0, 0, 0, 0 }
 };
@@ -2032,7 +2036,7 @@
 		sc->atuwi_mac_addr, ":"));
=20
 	bcopy(sc->atuwi_mac_addr,
-		(char *)&sc->arpcom.ac_enaddr, ETHER_ADDR_LEN);
+		IFP2ENADDR(sc->ifp), ETHER_ADDR_LEN);
=20
=20
 	for (i=3D0; i<ATUWI_AVG_TIME; i++)
@@ -2043,7 +2047,7 @@
 	sc->atuwi_cdata.atuwi_tx_inuse =3D 0;
=20
=20
-	ifp =3D &sc->arpcom.ac_if;
+	ifp =3D sc->ifp;
 	ifp->if_softc =3D sc;
 #if __FreeBSD_version >=3D 501113
 	if_initname(ifp, "atuwi", sc->atuwi_unit);
@@ -2162,7 +2166,7 @@
 =09
 	sc =3D device_get_softc(dev);
 	ATUWI_LOCK(sc);
-	ifp =3D &sc->arpcom.ac_if;
+	ifp =3D sc->ifp;
=20
 	printf("atuwi%d: detach\n", sc->atuwi_unit);
=20
@@ -2695,7 +2699,7 @@
 	c =3D priv;
 	sc =3D c->atuwi_sc;
 	ATUWI_LOCK(sc);
-	ifp =3D &sc->arpcom.ac_if;
+	ifp =3D sc->ifp;
=20
 #ifdef ATUWI_PROFILING
 	atuwi_profiling_rxeof++;
@@ -2923,7 +2927,7 @@
 	atuwi_profiling_txeof++;
 #endif /* ATUWI_PROFILING */
=20
-	ifp =3D &sc->arpcom.ac_if;
+	ifp =3D sc->ifp;
 	ifp->if_timer =3D 0;
=20
 	c->atuwi_in_xfer =3D 0;
@@ -3249,7 +3253,7 @@
 atuwi_init(void *xsc)
 {
 	struct atuwi_softc	*sc =3D xsc;
-	struct ifnet		*ifp =3D &sc->arpcom.ac_if;
+	struct ifnet		*ifp =3D sc->ifp;
 	struct atuwi_chain	*c;
 	struct atuwi_cdata	*cd =3D &sc->atuwi_cdata;
 	usbd_status		err;
@@ -3318,7 +3322,7 @@
 		usbd_transfer(c->atuwi_xfer);
 	}
=20
-	bcopy((char *)&sc->arpcom.ac_enaddr, sc->atuwi_mac_addr,
+	bcopy(IFP2ENADDR(sc->ifp), sc->atuwi_mac_addr,
 	    ETHER_ADDR_LEN);
 	DEBUG(FLAG_INIT, ("atuwi%d: starting up using MAC=3D%6D\n",
 	    sc->atuwi_unit, sc->atuwi_mac_addr, ":"));
@@ -3883,7 +3887,7 @@
 		atuwi_profiling_stop++;
 #endif /* ATUWI_PROFILING */
=20
-	ifp =3D &sc->arpcom.ac_if;
+	ifp =3D sc->ifp;
 	ifp->if_timer =3D 0;
=20
 	DEBUG(FLAG_INIT, ("atuwi%d: atuwi_stop\n", sc->atuwi_unit));

--Multipart=_Sat__16_Jul_2005_14_52_55_+0200_naJ+n0VpCMltbDF+--

--Signature=_Sat__16_Jul_2005_14_52_55_+0200_U/aBIrAtSSP6gO8m
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (FreeBSD)

iD8DBQFC2QMqnLctrNyFFPERAvolAKDJRVgFNArEkANJkLHWRjZlUDRK1ACfUCrQ
jyOCWxkG4Mjiva+7rdgmJEM=
=kGym
-----END PGP SIGNATURE-----

--Signature=_Sat__16_Jul_2005_14_52_55_+0200_U/aBIrAtSSP6gO8m--



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