Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 May 2009 09:16:05 +0200
From:      Hans Petter Selasky <hselasky@c2i.net>
To:        freebsd-current@freebsd.org, Weongyo Jeong <weongyo@freebsd.org>
Cc:        Lucius Windschuh <lwindschuh@googlemail.com>, Sam Leffler <sam@freebsd.org>
Subject:   Re: HEADSUP: uath(4) has been committed.
Message-ID:  <200905190916.06460.hselasky@c2i.net>
In-Reply-To: <20090519050132.GE42412@weongyo.cdnetworks.kr>
References:  <20090407022956.GA71377@weongyo.cdnetworks.kr> <4A0F419A.2020700@freebsd.org> <20090519050132.GE42412@weongyo.cdnetworks.kr>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 19 May 2009, Weongyo Jeong wrote:
> On Sat, May 16, 2009 at 03:43:38PM -0700, Sam Leffler wrote:
> > Lucius Windschuh wrote:
> > > 2009/4/7 Weongyo Jeong <weongyo.jeong@gmail.com>
> > >
> > >> Hello,
> > >>
> > >> FYI uath(4) driver has been committed into HEAD.  To work with uath(4)
> > >> it needs to load the firmware using uathload.  The example would be as
> > >> follows:
> > >>
> > >>        # kldload if_uath
> > >>        [plugin Atheros USB stick]
> > >>        ugen0.2: <Atheros Communications Inc> at usbus0
> > >>        # uathload -d /dev/ugen0.2
> > >>        [after downloading the firmware it'll retry to attach]
> > >>        # ifconfig uath0
> > >>
> > >> Normally uathload could be found at /usr/sbin or
> > >> /usr/src/usr.sbin/uathload for sources and if you don't want to
> > >> execute uathload by hand it'd be better to add a entry into
> > >> devd.conf(5).
> > >
> > > Thanks for porting the driver.
> >
> > This is not a port of anyone else's driver.
> >
> > > I tried it with a TRENDnet TEW-504UB/EU on CURRENT as of today.
> > > But there are a couple of problems with that device:
> > > 1. Different product ID
> > > My TEW-504UB/EU becomes 0x3207 after loading the firmware. OK, this one
> > > is easy to fix:
> > > Index: sys/dev/usb/usbdevs
> > > ===================================================================
> > > --- sys/dev/usb/usbdevs (revision 192196)
> > > +++ sys/dev/usb/usbdevs (working copy)
> > > @@ -2425,6 +2425,7 @@
> > >  product UMEDIA ALL0298V2 0x3204 ALL0298 v2
> > >  product UMEDIA AR5523_2 0x3205 AR5523
> > >  product UMEDIA AR5523_2_NF 0x3206 AR5523 (no firmware)
> > > +product UMEDIA AR5523_3 0x3207 AR5523
> > >
> > >  /* Universal Access products */
> > >  product UNIACCESS PANACHE 0x0101 Panache Surf USB ISDN Adapter
> > > Index: sys/dev/usb/wlan/if_uath.c
> > > ===================================================================
> > > --- sys/dev/usb/wlan/if_uath.c (revision 192196)
> > > +++ sys/dev/usb/wlan/if_uath.c (working copy)
> > > @@ -192,6 +192,7 @@
> > >   UATH_DEV(NETGEAR3, WPN111),
> > >   UATH_DEV(UMEDIA, TEW444UBEU),
> > >   UATH_DEV(UMEDIA, AR5523_2),
> > > + UATH_DEV(UMEDIA, AR5523_3),
> > >   UATH_DEV(WISTRONNEWEB, AR5523_1),
> > >   UATH_DEV(WISTRONNEWEB, AR5523_2),
> > >   UATH_DEV(ZCOM, AR5523)
> > >
> > > I don't know why this device has another product ID with a loaded
> > > firmware, but perhaps because it is an 802.11a capable device?
> >
> > The device works by changing identity once the firmware is downloaded.
> > One id is for the stick w/o fw and one for the stick w/ fw loaded and
> > running.
> >
> > > BTW: the vendor's firmware leads to the known ID (0x3205), but uath
> > > bails out:
> > > uath0: timeout waiting for reply to cmd 0x1 (1)
> > > uath0: could not initialize adapter
> > > device_attach: uath0 attach returned 35
> > > uath0: timeout waiting for reply to cmd 0x1 (1)
> > > uath0: could not initialize adapter
> > > device_attach: uath0 attach returned 35
> > > ugen4.2: <Atheros Communications Inc> at usbus4 (disconnected)
> > > ugen4.2: <Atheros Communications Inc> at usbus4
> >
> > You must use the freebsd fw w/ the freebsd driver.
> >
> > > So, now to the second problem:
> > > The device works like a charm in 802.11b/g mode (ifconfig wlan0
> > > chanlist 1-13) with FreeBSD's firmware.
> > > But 802.11a scanning does not work. Without the chanlist restrictiong,
> > > I get the following messages:
> > > (plug in the device)
> > >   ugen4.2: <Atheros Communications Inc> at usbus4
> > > (uathload)
> > >   ugen4.2: <Atheros Communications Inc> at usbus4 (disconnected)
> > >   ugen4.2: <Atheros Communications Inc> at usbus4
> > > (ifconfig wlan create wlandev uath0)
> > >   wlan0: Ethernet address: 00:14:d1:c0:23:5f
> > > (ifconfig wlan0 up)
> > >   uath0: uath_cmdsend: empty inactive queue
> > >   uath0: could not init Tx queues, error 55
> > >   uath0: uath_cmdsend: empty inactive queue
> > >   uath0: could not set channel, error 55
> > >   [...]
> > >   uath0: could not set channel, error 55
> > >   uath0: uath_cmdsend: empty inactive queue
> > >   uath0: could not write register 0x08
> > >   uath0: uath_cmdsend: empty inactive queue
> > >   uath0: could not set channel, error 55
> > >   uath0: could not switch channel
> > > I'd like to provide additional debugging information. If you need more,
> > > please tell me what.
> >
> > Known problem.  Weongoy didn't have a dual-band stick and I never had
> > time to track down why 5Ghz channels failed.
> >
> > > BTW: Could you add a message declaring the device when it is plugged
> > > in? Something like "uath0: <TRENDnet TEW-504UB wireless LAN adaptor> on
> > > usbus?" and "uath0: ether aa:bb:cc:dd:ee:ff"?
> >
> > I thought it did this but perhaps not; we can try to add it.
>
> IIRC in the previous USB1, it printed a message like
>
> 	uath0: <TRENDnet TEW-504UB wireless LAN adaptor> on usbus?
>
> whenever a device is attached even if the device source doesn't print
> it but it's not now in USB2.  I have no ideas it's a intention or a
> regression of USB2.
>
> regards,
> Weongyo Jeong
>

Fix here:

http://perforce.freebsd.org/chv.cgi?CH=162306

--HPS




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