2011-12-30 12:58:59

by Abimanyu Gottumukkala

[permalink] [raw]
Subject: BCM43231

Hi,

Does any one have status or any info on BCM43231 USB drivers?

Thanks & Regards,
Abimanyu G


2011-12-31 16:46:40

by Rafał Miłecki

[permalink] [raw]
Subject: Re: BCM43231

2011/12/30 Abimanyu Gottumukkala <[email protected]>:
> Does any one have status or any info on BCM43231 USB drivers?

Why didn't you Cc b43-dev ML? I could order it already yesterday!

It's on it's way <del>home</del> <ins>me</ins> :) We will see soon
what it has inside :)

--
Rafał

2012-01-10 07:00:49

by Rafał Miłecki

[permalink] [raw]
Subject: Re: BCM43231

W dniu 9 stycznia 2012 23:25 użytkownik Peter Stuge <[email protected]> napisał:
> Rafał Miłecki wrote:
>> I've been using "usbmon" to dump traffic.
>
> The tool at http://people.redhat.com/zaitcev/linux/usbmon-6.tar.gz
> and not simply cat on the usbmon files in debugfs I hope.
>
> debugfs only shows the first bytes of long transfers, but the API
> used by the usbmon-6 tool shows complete traffic.

I think I start to understand. The number before "<" or "=" or ">" is
amount of bytes. For example:

ea700b40 493839847 S Bi:2:003:6 -115 8 <
We just asked for 8 bytes

ea700b40 493840818 C Bi:2:003:6 0 8 = 00060456 00000000
Here we received the 8 bytes.

f3dad540 493840838 S Bi:2:003:6 -115 13 <
We asked for 13 bytes.

f3dad540 493840923 C Bi:2:003:6 0 13 = 55534253 0a1a0000 00000000 00
The requested 13 bytes.

Now some bigger amount:

eb48d640 504977573 S Ci:2:010:0 s 80 06 0200 0000 0027 39 <
Asking for 39bytes?

eb48d640 504977936 C Ci:2:010:0 0 39 = 09022700 010100a0 64090400
0003ff02 ff000705 81031000 04070582 02000200
Only 32bytes received?

Is this the issue you meant? Am I correctly parsing that dumps?



I've quickly tried usbmon userspace tool, but not much more luck with
it. Example from this tool:

f2c19e40 6.317817 S Ci:2:013:0 s 80 06 0200 0000 0027 39 <
f2c19e40 6.318305 C Ci:2:013:0 0 39 =
09022700 010100a0 64090400 0003ff02 ff000705 81031000 04070582 02000200
. . ' . . . . . d . . . . . . . . . . . . . . . . . . . . . . .

Maybe it requires some switch or sth... unfortunately it's not
documented at all ;/

--
Rafał

2012-01-09 21:31:43

by Rafał Miłecki

[permalink] [raw]
Subject: Re: BCM43231

[RESEND without attachment]

2011/12/30 Abimanyu Gottumukkala <[email protected]>:
> Does any one have status or any info on BCM43231 USB drivers?

I've received my WNA3100, 0846:9020 (maybe BCM43231, can't confirm).

It works with ndiswrapper and bcmwlhigh6, I can scan and even connect
to my WPA2 network.

Unfortunately I've no idea what hardware is this. I've dumped
ndiswrapper USB operations but they don't tell me a single thing.
Initialization is represented by only ~1000 lines in dumps and I've
connected in next ~1500 lines of USB dump. I've been using "usbmon" to
dump traffic.

The hardware seems to have:
1) Configuration
2) 3 endpoints (2*bulk, 1*interrupt)

The attached dump doesn't contain:
1) Anything EPROM specific (like 0x4BF... or 0x0000000F)
2) Anything SPROM specific (like 0x5372 signature)
3) Anything Broadcom specific (like 0x14e4)
4) Anything BCMA specific (like 0x408 aka BCMA_IOCTL)

I've no idea what to look for on this card. I started to believe it's
some fullmac, but didn't find anything to prove this.


Larry: is there any chance you will give some tips on this hardware? I
know RE of x86 driver can be really ugly, but maybe you'll find
something somewhere anyway? At least some minimal tip.


The only thing I've recognized in USB dump is my MAC address
(E0:46:9A:19:58:DB):
ea7009c0 505509888 S Bo:2:010:3 -115 24 = 14000000 21000000 2b000000
00000000 e0469a19 58db0000
f3dbe340 505509949 S Bo:2:010:3 -115 28 = 18000000 22000000 31000000
48000000 08000000 e0469a19 58db0000
f0257d40 505510010 S Bo:2:010:3 -115 24 = 14000000 23000000 2b000000
03000000 00000000 00000000

eea80c40 512759339 S Bo:2:010:3 -115 24 = 14000000 66010000 2b000000
00000000 e0469a19 58db0000
eb48d740 512759348 S Bo:2:010:3 -115 28 = 18000000 67010000 31000000
48000000 08000000 e0469a19 58db0000
f6275240 512759354 S Bo:2:010:3 -115 24 = 14000000 68010000 2b000000
03000000 00000000 00000000
f0257f40 512759360 S Bo:2:010:3 -115 24 = 14000000 69010000 2e000000
6c0d0000 00000000 60030000
f0257ac0 512759366 S Bo:2:010:3 -115 20 = 10000000 6a010000 30000000
d4050000 00000000
eb48d2c0 512759372 S Bo:2:010:3 -115 20 = 10000000 6b010000 30000000
d6050000 10000000
f6275740 512759378 S Bo:2:010:3 -115 20 = 10000000 6c010000 30000000
d8050000 20000000
f62757c0 512759384 S Bo:2:010:3 -115 20 = 10000000 6d010000 30000000
da050000 30000000
f0257a40 512759390 S Bo:2:010:3 -115 20 = 10000000 6e010000 30000000
dc050000 40000000
f2c191c0 512759396 S Bo:2:010:3 -115 20 = 10000000 6f010000 30000000
de050000 50000000
eb48d540 512759402 S Bo:2:010:3 -115 20 = 10000000 70010000 30000000
e0050000 60000000
eb48d340 512759408 S Bo:2:010:3 -115 20 = 10000000 71010000 30000000
e2050000 70000000
ea700d40 512759414 S Bo:2:010:3 -115 20 = 10000000 72010000 30000000
e4050000 80000000
f2c19ec0 512759420 S Bo:2:010:3 -115 20 = 10000000 73010000 30000000
e6050000 90000000

f224fec0 505489563 C Ci:2:010:0 0 20 = 10000000 03000001 35000000
e0469a19 58db0000

--
Rafał

2012-01-09 20:12:45

by Rafał Miłecki

[permalink] [raw]
Subject: Re: BCM43231

2011/12/30 Abimanyu Gottumukkala <[email protected]>:
> Does any one have status or any info on BCM43231 USB drivers?

I've received my WNA3100, 0846:9020 (maybe BCM43231, can't confirm).

It works with ndiswrapper and bcmwlhigh6, I can scan and even connect
to my WPA2 network.

Unfortunately I've no idea what hardware is this. I've dumped
ndiswrapper USB operations but they don't tell me a single thing.
Initialization is represented by only ~1000 lines in dumps and I've
connected in next ~1500 lines of USB dump. I've been using "usbmon" to
dump traffic.

The hardware seems to have:
1) Configuration
2) 3 endpoints (2*bulk, 1*interrupt)

The attached dump doesn't contain:
1) Anything EPROM specific (like 0x4BF... or 0x0000000F)
2) Anything SPROM specific (like 0x5372 signature)
3) Anything Broadcom specific (like 0x14e4)
4) Anything BCMA specific (like 0x408 aka BCMA_IOCTL)

I've no idea what to look for on this card. I started to believe it's
some fullmac, but didn't find anything to prove this.


Larry: is there any chance you will give some tips on this hardware? I
know RE of x86 driver can be really ugly, but maybe you'll find
something somewhere anyway? At least some minimal tip.


The only thing I've recognized in USB dump is my MAC address
(E0:46:9A:19:58:DB):
ea7009c0 505509888 S Bo:2:010:3 -115 24 = 14000000 21000000 2b000000
00000000 e0469a19 58db0000
f3dbe340 505509949 S Bo:2:010:3 -115 28 = 18000000 22000000 31000000
48000000 08000000 e0469a19 58db0000
f0257d40 505510010 S Bo:2:010:3 -115 24 = 14000000 23000000 2b000000
03000000 00000000 00000000

eea80c40 512759339 S Bo:2:010:3 -115 24 = 14000000 66010000 2b000000
00000000 e0469a19 58db0000
eb48d740 512759348 S Bo:2:010:3 -115 28 = 18000000 67010000 31000000
48000000 08000000 e0469a19 58db0000
f6275240 512759354 S Bo:2:010:3 -115 24 = 14000000 68010000 2b000000
03000000 00000000 00000000
f0257f40 512759360 S Bo:2:010:3 -115 24 = 14000000 69010000 2e000000
6c0d0000 00000000 60030000
f0257ac0 512759366 S Bo:2:010:3 -115 20 = 10000000 6a010000 30000000
d4050000 00000000
eb48d2c0 512759372 S Bo:2:010:3 -115 20 = 10000000 6b010000 30000000
d6050000 10000000
f6275740 512759378 S Bo:2:010:3 -115 20 = 10000000 6c010000 30000000
d8050000 20000000
f62757c0 512759384 S Bo:2:010:3 -115 20 = 10000000 6d010000 30000000
da050000 30000000
f0257a40 512759390 S Bo:2:010:3 -115 20 = 10000000 6e010000 30000000
dc050000 40000000
f2c191c0 512759396 S Bo:2:010:3 -115 20 = 10000000 6f010000 30000000
de050000 50000000
eb48d540 512759402 S Bo:2:010:3 -115 20 = 10000000 70010000 30000000
e0050000 60000000
eb48d340 512759408 S Bo:2:010:3 -115 20 = 10000000 71010000 30000000
e2050000 70000000
ea700d40 512759414 S Bo:2:010:3 -115 20 = 10000000 72010000 30000000
e4050000 80000000
f2c19ec0 512759420 S Bo:2:010:3 -115 20 = 10000000 73010000 30000000
e6050000 90000000

f224fec0 505489563 C Ci:2:010:0 0 20 = 10000000 03000001 35000000
e0469a19 58db0000

--
Rafał


Attachments:
dump.txt (157.67 kB)

2012-01-09 22:25:48

by Peter Stuge

[permalink] [raw]
Subject: Re: BCM43231

Rafał Miłecki wrote:
> I've been using "usbmon" to dump traffic.

The tool at http://people.redhat.com/zaitcev/linux/usbmon-6.tar.gz
and not simply cat on the usbmon files in debugfs I hope.

debugfs only shows the first bytes of long transfers, but the API
used by the usbmon-6 tool shows complete traffic.


//Peter

2012-01-10 11:14:15

by Rafał Miłecki

[permalink] [raw]
Subject: Re: BCM43231

2012/1/10 Arend van Spriel <[email protected]>:
> On 01/09/2012 11:18 PM, Larry Finger wrote:
>>
>> I remember seeing some mail about the Broadcom guys working on a Linux driver
>> for a USB fullmac device. Is this the one? (I added Arend to the Cc.)
>>
>> Larry
>>
>
> As you know we currently have two linux drivers. brcmfmac is a fullmac
> architecture for cfg80211, brcmsmac is a softmac architecture for
> mac80211. The brcmfmac driver will get usb support soon (when I finish
> my testing over here) but it supports another device (ie. bcm43236).
>
> The bcm43231 has another architecture and can not be supported by either
> of the drivers.

Can you check what chipset is 0846:9020? I didn't see any prove it's
BCM43231 so far. Can you confirm/deny this?

Firmware upload of Windows driver for 0846:9020 looks similar to brcmfmac.

--
Rafał

2012-01-09 22:18:39

by Larry Finger

[permalink] [raw]
Subject: Re: BCM43231

On 01/09/2012 02:12 PM, Rafał Miłecki wrote:
> 2011/12/30 Abimanyu Gottumukkala<[email protected]>:
>> Does any one have status or any info on BCM43231 USB drivers?
>
> I've received my WNA3100, 0846:9020 (maybe BCM43231, can't confirm).
>
> It works with ndiswrapper and bcmwlhigh6, I can scan and even connect
> to my WPA2 network.
>
> Unfortunately I've no idea what hardware is this. I've dumped
> ndiswrapper USB operations but they don't tell me a single thing.
> Initialization is represented by only ~1000 lines in dumps and I've
> connected in next ~1500 lines of USB dump. I've been using "usbmon" to
> dump traffic.

The evidence points to some kind of Broadcom chip. The USB data base says that
an ID of "0846:9020" is a "WNA3100(v1) Wireless-N 300 [Broadcom BCM43231]". In
addition, the Windows driver name of bcmwlhigh6 indicates a BroadCoM WL driver
of some sort. Given the relatively small amount of initialization traffic, it
must be a fullmac device that likely does not need external firmware.

I remember seeing some mail about the Broadcom guys working on a Linux driver
for a USB fullmac device. Is this the one? (I added Arend to the Cc.)

Larry

2012-01-10 11:08:17

by Arend van Spriel

[permalink] [raw]
Subject: Re: BCM43231

On 01/09/2012 11:18 PM, Larry Finger wrote:
>
> I remember seeing some mail about the Broadcom guys working on a Linux driver
> for a USB fullmac device. Is this the one? (I added Arend to the Cc.)
>
> Larry
>

As you know we currently have two linux drivers. brcmfmac is a fullmac
architecture for cfg80211, brcmsmac is a softmac architecture for
mac80211. The brcmfmac driver will get usb support soon (when I finish
my testing over here) but it supports another device (ie. bcm43236).

The bcm43231 has another architecture and can not be supported by either
of the drivers.

Gr. AvS


2012-01-10 16:59:39

by Peter Stuge

[permalink] [raw]
Subject: Re: BCM43231

Michael Büsch wrote:
> Just for reference: wireshark is perfectly usable with usbmon and
> thus has all the standard wireshark features like filtering, etc, too.

Yes, wireshark also uses the same binary API as the usbmon tool.


//Peter

2012-01-10 07:29:34

by Rafał Miłecki

[permalink] [raw]
Subject: Re: BCM43231

W dniu 10 stycznia 2012 08:00 użytkownik Rafał Miłecki
<[email protected]> napisał:
> I've quickly tried usbmon userspace tool, but not much more luck with
> it. Example from this tool:
>
> f2c19e40 6.317817 S Ci:2:013:0 s 80 06 0200 0000 0027 39 <
> f2c19e40 6.318305 C Ci:2:013:0 0 39 =
>    09022700 010100a0 64090400 0003ff02 ff000705 81031000 04070582 02000200
>     . . ' .  . . . .  d . . .  . . . .  . . . .  . . . .  . . . .  . . . .
>
> Maybe it requires some switch or sth... unfortunately it's not
> documented at all ;/

usbmon -s 1024 > dump.txt
:)

--
Rafał

2012-01-10 12:17:40

by Arend van Spriel

[permalink] [raw]
Subject: Re: BCM43231

On 01/10/2012 12:14 PM, Rafał Miłecki wrote:
>
> Can you check what chipset is 0846:9020? I didn't see any prove it's
> BCM43231 so far. Can you confirm/deny this?
>
> Firmware upload of Windows driver for 0846:9020 looks similar to brcmfmac.
>

Broadcom usb id's start with 0a5c so for the ID above I can only quote
what I found on http://www.linux-usb.org/usb.ids

0846 NetGear, Inc.
9020 WNA3100(v1) Wireless-N 300 [Broadcom BCM43231]

Gr. AvS


2012-01-09 23:14:30

by Gábor Stefanik

[permalink] [raw]
Subject: Re: BCM43231

2012/1/9 Rafa? Mi?ecki <[email protected]>:
> W dniu 9 stycznia 2012 23:25 u?ytkownik Peter Stuge <[email protected]> napisa?:
>> Rafa? Mi?ecki wrote:
>>> I've been using "usbmon" to dump traffic.
>>
>> The tool at http://people.redhat.com/zaitcev/linux/usbmon-6.tar.gz
>> and not simply cat on the usbmon files in debugfs I hope.
>>
>> debugfs only shows the first bytes of long transfers, but the API
>> used by the usbmon-6 tool shows complete traffic.
>
> I was just using
> cat /sys/kernel/debug/usb/usbmon/0u
>
> I didn't see info about eating the rest of transfer in
> Documentation/usb/usbmon.txt. Thanks for the tip, I'll give it a
> chance tomorrow.

This information, if true, should go into Documentation/usb/usbmon.txt.

2012-01-09 22:28:27

by Rafał Miłecki

[permalink] [raw]
Subject: Re: BCM43231

W dniu 9 stycznia 2012 23:25 użytkownik Peter Stuge <[email protected]> napisał:
> Rafał Miłecki wrote:
>> I've been using "usbmon" to dump traffic.
>
> The tool at http://people.redhat.com/zaitcev/linux/usbmon-6.tar.gz
> and not simply cat on the usbmon files in debugfs I hope.
>
> debugfs only shows the first bytes of long transfers, but the API
> used by the usbmon-6 tool shows complete traffic.

I was just using
cat /sys/kernel/debug/usb/usbmon/0u

I didn't see info about eating the rest of transfer in
Documentation/usb/usbmon.txt. Thanks for the tip, I'll give it a
chance tomorrow.

--
Rafał

2012-01-10 09:36:31

by Michael Büsch

[permalink] [raw]
Subject: Re: BCM43231

On Tue, 10 Jan 2012 08:29:33 +0100
Rafał Miłecki <[email protected]> wrote:

> W dniu 10 stycznia 2012 08:00 użytkownik Rafał Miłecki
> <[email protected]> napisał:
> > I've quickly tried usbmon userspace tool, but not much more luck with
> > it. Example from this tool:
> >
> > f2c19e40 6.317817 S Ci:2:013:0 s 80 06 0200 0000 0027 39 <
> > f2c19e40 6.318305 C Ci:2:013:0 0 39 =
> >    09022700 010100a0 64090400 0003ff02 ff000705 81031000 04070582 02000200
> >     . . ' .  . . . .  d . . .  . . . .  . . . .  . . . .  . . . .  . . . .
> >
> > Maybe it requires some switch or sth... unfortunately it's not
> > documented at all ;/
>
> usbmon -s 1024 > dump.txt
> :)
>

Just for reference: wireshark is perfectly usable with usbmon and
thus has all the standard wireshark features like filtering, etc, too.

--
Greetings, Michael.