View previous topic :: View next topic |
Author |
Message |
p4plus2 n00b
Joined: 16 Dec 2014 Posts: 5
|
Posted: Tue Dec 16, 2014 2:39 am Post subject: Netgear WNDA3100v3 drivers |
|
|
Recently I was given a Netgear WNDA3100v3 but am having quite the rough experience getting it working on linux. Searching on google at first proved rather futile for this specific version, so I defaulted to a fallback plan of ndiswrapper. Ndiswrapper, however, fails with the following:
Code: |
[ 4089.868628] ndiswrapper (import:232): unknown symbol: ntoskrnl.exe:'ExEventObjectType'
[ 4089.868641] ndiswrapper (import:232): unknown symbol: ntoskrnl.exe:'MmGetSystemRoutineAddress'
[ 4089.868644] ndiswrapper (import:232): unknown symbol: ntoskrnl.exe:'IoWMIWriteEvent'
[ 4089.868647] ndiswrapper (import:232): unknown symbol: ntoskrnl.exe:'RtlStringFromGUID'
[ 4089.868663] ndiswrapper (import:232): unknown symbol: ntoskrnl.exe:'__chkstk'
[ 4089.868713] ndiswrapper (load_sys_files:200): couldn't prepare driver 'rt2870'
[ 4089.869235] ndiswrapper (load_wrap_driver:103): couldn't load driver rt2870; check system log for messages from 'loadndisdriver'
|
But then I had remembered there were linux drivers for the ralink devices like the rt2870, so I went and built the modules. However, no luck the device wasn't detected at all. I opened up the rt2800usb.c and added the device to the list however, still no dice. That resulted in a rather unhelpful error: rt2800_probe_rt: Error - Invalid RT chipset 0x0000, rev 0000 detected. The device 0846:9013 seemed to be supported but this device is a 0846:9014, so I was hopeful.
lsusb -v output:
Code: |
Bus 003 Device 013: ID 0846:9014 NetGear, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.01
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0846 NetGear, Inc.
idProduct 0x9014
bcdDevice 1.00
iManufacturer 1 MediaTek Inc.
iProduct 2 WNDA3100v3
iSerial 3 000000000
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 74
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 2 WNDA3100v3
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 200mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 8
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 2 WNDA3100v3
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x08 EP 8 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x05 EP 5 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x06 EP 6 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x07 EP 7 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x09 EP 9 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 12
bNumDeviceCaps 1
USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType 16
bDevCapabilityType 2
bmAttributes 0x0000f41e
BESL Link Power Management (LPM) Supported
BESL value 1024 us
Deep BESL value 61440 us
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0002
(Bus Powered)
Remote Wakeup Enabled
|
Any ideas on what I could try to get his running? I am okay with ndiswrapper or native drivers, though I would prefer the latter. |
|
Back to top |
|
|
chithanh Developer
Joined: 05 Aug 2006 Posts: 2158 Location: Berlin, Germany
|
Posted: Tue Dec 16, 2014 8:08 am Post subject: Re: Netgear WNDA3100v3 drivers |
|
|
p4plus2 wrote: | That resulted in a rather unhelpful error: rt2800_probe_rt: Error - Invalid RT chipset 0x0000, rev 0000 detected. The device 0846:9013 seemed to be supported but this device is a 0846:9014, so I was hopeful. | Are you sure it is a Ralink rt2800 based device?
v1 (0846:9010) is Atheros based
v2 (0846:9011) is Broadcom based |
|
Back to top |
|
|
p4plus2 n00b
Joined: 16 Dec 2014 Posts: 5
|
Posted: Tue Dec 16, 2014 8:21 am Post subject: Re: Netgear WNDA3100v3 drivers |
|
|
chithanh wrote: | p4plus2 wrote: | That resulted in a rather unhelpful error: rt2800_probe_rt: Error - Invalid RT chipset 0x0000, rev 0000 detected. The device 0846:9013 seemed to be supported but this device is a 0846:9014, so I was hopeful. | Are you sure it is a Ralink rt2800 based device?
v1 (0846:9010) is Atheros based
v2 (0846:9011) is Broadcom based |
100%. In fact, I have been hacking at the device driver an managed to get it to spit out at me its specifically a 7662. I've been doing mostly guess work at this point but I got it to connect to my network and recieve an IP. But at this point if something attempts using the internet the entire system locks up. The drivers on the disk that came with it were rt2870.sys which further solidifies my thoughts that it is rt2800 based.
I'm rather stuck until I figure out how to more properly debug the issue, buts at least progress. |
|
Back to top |
|
|
chithanh Developer
Joined: 05 Aug 2006 Posts: 2158 Location: Berlin, Germany
|
|
Back to top |
|
|
p4plus2 n00b
Joined: 16 Dec 2014 Posts: 5
|
Posted: Wed Dec 17, 2014 9:38 pm Post subject: |
|
|
Since I've started my work I've come across those links now. Unfortunately, the mtk-wifi only supports AP configurations, not sta. And, as far as I can tell, there is no support for usb devices in the mtk repo.
As for the out of tree driver I've had about add much luck as hacking at the in tree driver. The out of tree driver didn't even compile as is and needed quite a bit of tweaking. But, alas, it still crashes with a skb_over_panic. I tried to pad all skb allocations with an extra 10kb arbitrarily to see if that would help, but no dice. I am currently attempting to Frankenstein something together from various mediatek drivers, not having too much luck.
Something interesting I've found is the panic can only be triggered if I startx, the attempt accessing the internet. I can download as much as I want prior to startx, but after, even if I kill x, I get a panic instantly. All in all, this experience may not be so bad if I wasn't using a desktop without internet and a cell phone with bad reception for my development. But that's just half the fun I guess :p. |
|
Back to top |
|
|
chithanh Developer
Joined: 05 Aug 2006 Posts: 2158 Location: Berlin, Germany
|
Posted: Thu Dec 18, 2014 7:59 pm Post subject: |
|
|
From what I read of the mtk-wifi documentation, you need to edit the Makefile to build STA mode.
Also, try the latest kernel version which the 7601 driver builds against without patching. |
|
Back to top |
|
|
p4plus2 n00b
Joined: 16 Dec 2014 Posts: 5
|
Posted: Fri Dec 19, 2014 6:28 am Post subject: |
|
|
chithanh wrote: | From what I read of the mtk-wifi documentation, you need to edit the Makefile to build STA mode.
Also, try the latest kernel version which the 7601 driver builds against without patching. |
The mtk-wifi drivers have STA support removed, the source files are in fact missing. The 7601 drivers do not include most of the needed files either for the mt7662 and integrating the chipset turns out to be infeasible do to most of the underlaying structs being different. However, I spent the last three days modding the MT7612U drivers and finally have them working ! Its so far been three or so hours since my last change and I've not yet had a single crash. Currently my bandwidth is a fraction of what I should be getting (around 5mbps vs the 128mpbs I get when hardwired), but its a massive step in the right direction.
My next step will probably be to attempt rewriting the driver from scratch hopefully significantly more organized than the out of tree driver. Even if its never good enough to submit as an actual driver its a learning experience I am not willing to pass up . I am just glad to have gotten this far, but now that my desktop has internet again I can prepare an actual development environment. I am not sure I am ready to call this thread "solved" as there is still an open issue of getting a long term solution working, but its more solved than when I started, not sure what convention dictates in these situations.
Anyways, I'll be sure to occasionally post any significant progress updates, but until then thanks for taking the time to reply and offer assistance. |
|
Back to top |
|
|
jbernardo n00b
Joined: 06 Apr 2015 Posts: 1
|
Posted: Mon Apr 06, 2015 10:25 am Post subject: |
|
|
Hi, did you manage to advance on this? Sorry to bother you, but you seem to be the only person working on these drivers. |
|
Back to top |
|
|
ccpaging n00b
Joined: 08 Oct 2015 Posts: 1
|
|
Back to top |
|
|
emagdnim n00b
Joined: 03 Sep 2015 Posts: 2
|
Posted: Sat Mar 05, 2016 12:14 pm Post subject: |
|
|
Update: there's is a working driver: https://github.com/jurobystricky/Netgear-A6210
Speed is good, but there's random short timeouts, but it's usable, I have used this driver daily for 2 months now. My speeds are 60-70Mbs down and 12Mbs up (My internet connection is 100/10 vdsl, and can get max 80Mbs down with wired)
Edit: oh, this was mentioned behind previous post's link |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|