Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 May 2009 15:43:38 -0700
From:      Sam Leffler <sam@freebsd.org>
To:        Lucius Windschuh <lwindschuh@googlemail.com>
Cc:        Weongyo Jeong <weongyo@freebsd.org>, current@freebsd.org
Subject:   Re: HEADSUP: uath(4) has been committed.
Message-ID:  <4A0F419A.2020700@freebsd.org>
In-Reply-To: <90a5caac0905161502x3771072n22d58111a235de24@mail.gmail.com>
References:  <20090407022956.GA71377@weongyo.cdnetworks.kr> <90a5caac0905161502x3771072n22d58111a235de24@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

	Sam



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