Forum

Full Version: trying to install mt7610u (linksys ae6000)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6
As the title suggests, I'm trying to install drivers for my Linksys AE6000 5g wireless usb (mt7610u driver). I've followed a few guides for the mt7601u, substituting my mt7610u source for the build. It builds without issues, then installs without issues... but I don't think it installed properly, as I can't find it with modprobe, and lsusb just shows "Linksys".. no model number or driver number.

Code:
make[1]: Leaving directory '/usr/src/linux'
cp -f /home/xbian/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux/mt7650u_sta.ko /tftpboot 2>/dev/null || :

root@xbian:/home/xbian/mt7610u_wifi_sta_v3002_dpo_20130916# make install
make -C /home/xbian/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux -f Makefile.6 install
make[1]: Entering directory '/home/xbian/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux'
mkdir: cannot create directory ‘/etc/Wireless’: File exists
rm -rf /etc/Wireless/RT2870STA
mkdir /etc/Wireless/RT2870STA
cp /home/xbian/mt7610u_wifi_sta_v3002_dpo_20130916/conf/RT2870STA.dat /etc/Wireless/RT2870STA/.
install -d /lib/modules/4.1.13+/kernel/drivers/net/wireless/
install -m 644 -c mt7650u_sta.ko /lib/modules/4.1.13+/kernel/drivers/net/wireless/
/sbin/depmod -a 4.1.13+
make[1]: Leaving directory '/home/xbian/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux'
root@xbian:/home/xbian/mt7610u_wifi_sta_v3002_dpo_20130916#

root@xbian:/home/xbian/mt7610u_wifi_sta_v3002_dpo_20130916# ifup ra0
wpa_supplicant: /sbin/wpa_supplicant daemon failed to start
run-parts: /etc/network/if-pre-up.d/wpasupplicant exited with return code 1
Failed to bring up ra0.
root@xbian:/home/xbian/mt7610u_wifi_sta_v3002_dpo_20130916#

xbian@xbian ~ $ lsusb
Bus 001 Device 007: ID 2040:7200 Hauppauge
Bus 001 Device 006: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter
Bus 001 Device 005: ID 1a40:0201 Terminus Technology Inc. FE 2.1 7-port Hub
Bus 001 Device 004: ID 13b1:003e Linksys
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
xbian@xbian ~ $


Where did I go wrong?
I guess I should give more information on my steps.. lol. Sorry about that.

First I needed to get the Vendor and Device ID, needed to modify rtusb_dev_id.c file. I'd missed that step the first time, so I hoped that was my fix. Not so. I found a modified version of the same driver on gethub, that already had the Vendor and Device ID's. Same story.. it builds, and it installs... it just doesn't load or show the full device name with lsusb. Still the same Linksys.. it should say MT7610U Linksys AC580.

Anyway... here's my workflow... maybe someone else has an idea.


Code:
ssh xbian@xxx.xxx.x.x
$ lsusb

   Bus 001 Device 004: ID 13b1:003e Linksys

$ sudo -s
$ apt-get update
$ apt-get upgrade
$ apt-get dist-upgrade
$ apt-get install build-essential git make checkinstall

$ cd /usr/src
$ git clone https://github.com/raspberrypi/linux.git
$ ln -s /usr/src/linux /lib/modules/`uname -r`/build
$ cd linux

$ make mrproper
$ zcat /proc/config.gz > .config
$ cp .config .config.org
$ make modules_prepare

$ wget https://raw.github.com/raspberrypi/firmware/master/extra/Module.symvers

$ cd /home/xbian
$ git clone https://github.com/Myria-de/mt7610u_wifi_sta_v3002_dpo_20130916.git
$ cd mt7610u*

$ nano /home/xbian/mt7610u*/os/linux/rt_linux.c


##ULONG RTDebugLevel = RT_DEBUG_ERROR;
ULONG RTDebugLevel = 0; // RT_DEBUG_TRACE;
ULONG RTDebugFunc = 0;[/b]


$ nano /home/xbian/mt7610u*/common/rtusb_dev_id.c


/* module table */
USB_DEVICE_ID rtusb_dev_id[] = {
#ifdef MT76x0
        {USB_DEVICE(0x148F,0x7610)}, /* MT7610U */
        {USB_DEVICE(0x13B1,0x003E)}, /* MT7610U Linksys AC580 */
        {USB_DEVICE_AND_INTERFACE_INFO(0x0E8D, 0x7630, 0xff, 0x2, 0xff)}, /* MT$
        {USB_DEVICE_AND_INTERFACE_INFO(0x0E8D, 0x7650, 0xff, 0x2, 0xff)}, /* MT$
#endif
        { }/* Terminating entry */
};


$ make
$ make install

$ nano /etc/network/interfaces


auto lo

iface lo inet loopback
iface eth0 inet dhcp

auto ra0
allow-hotplug ra0
iface ra0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp


$ nano /etc/wpa_supplicant/wpa_supplicant.conf


ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        ssid="YOURWIFINAME"
        key_mgmt=WPA-PSK
        psk="YOURPASSWORD"
}


$ reboot


Then after rebooting...

Code:
xbian@xbian ~ $ lsusb
Bus 001 Device 007: ID 2040:7200 Hauppauge
Bus 001 Device 006: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter
Bus 001 Device 005: ID 1a40:0201 Terminus Technology Inc. FE 2.1 7-port Hub
Bus 001 Device 004: ID 13b1:003e Linksys
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

xbian@xbian ~ $ sudo ifup ra0
[sudo] password for xbian:
run-parts: /etc/network/if-pre-up.d/wpasupplicant exited with return code 1
Failed to bring up ra0.


I'm lost.

And lsmod...

Code:
xbian@xbian ~ $ lsmod
Module                  Size  Used by
ccm                     6352  1
snd_usb_audio         111404  0
snd_hwdep               4543  1 snd_usb_audio
ir_xmp_decoder          2484  0
ir_sharp_decoder        1750  0
snd_usbmidi_lib        17509  1 snd_usb_audio
snd_rawmidi            15699  1 snd_usbmidi_lib
ir_lirc_codec           3974  0
ir_mce_kbd_decoder      3341  0
ir_jvc_decoder          1756  0
ir_sanyo_decoder        1966  0
ir_sony_decoder         1789  0
ir_rc6_decoder          2497  0
ir_rc5_decoder          1812  0
ir_nec_decoder          2196  0
rc_hauppauge            1914  0
au8522_dig              6437  1
xc5000                 13451  2
tuner                  14127  1
au8522_decoder          6059  1
au8522_common           3643  2 au8522_decoder,au8522_dig
rt2800usb              16564  0
rt2800lib              69711  1 rt2800usb
rt2x00usb               8158  1 rt2800usb
au0828                 41514  0
rt2x00lib              34603  3 rt2x00usb,rt2800lib,rt2800usb
tveeprom               11361  1 au0828
videobuf2_vmalloc       4404  1 au0828
dvb_core               83251  1 au0828
mac80211              337849  3 rt2x00lib,rt2x00usb,rt2800lib
snd_soc_pcm512x_i2c     2018  1
videobuf2_memops        1872  1 videobuf2_vmalloc
crc_ccitt               1191  1 rt2800lib
videobuf2_core         31062  1 au0828
snd_soc_pcm512x        17842  1 snd_soc_pcm512x_i2c
v4l2_common             3676  4 au8522_decoder,tuner,au0828,videobuf2_core
regmap_i2c              2247  1 snd_soc_pcm512x_i2c
videodev              106784  5 au8522_decoder,tuner,au0828,v4l2_common,videobuf2_core
snd_soc_hifiberry_dacplus     3271  0
media                  10780  2 tuner,videodev
snd_soc_hifiberry_dac     2154  0
lirc_rpi                5740  3
snd_soc_bcm2708_i2s     5472  2
regmap_mmio             2054  1 snd_soc_bcm2708_i2s
snd_soc_core          120296  4 snd_soc_pcm512x,snd_soc_hifiberry_dac,snd_soc_hifiberry_dacplus,snd_soc_bcm2708_​i2s
lirc_dev                9944  2 lirc_rpi,ir_lirc_codec
snd_compress           10086  1 snd_soc_core
snd_pcm_dmaengine       3372  1 snd_soc_core
rc_core                15232  14 ir_sharp_decoder,ir_xmp_decoder,lirc_dev,ir_lirc_codec,rc_hauppauge,ir_rc5_decod​er,ir_nec_decoder,ir_sony_decoder,au0828,ir_mce_kbd_decoder,ir_jvc_decoder,ir_rc​6_decoder,ir_sanyo_decoder
bcm2835_thermal         2030  0
leds_gpio               2970  0
i2c_bcm2708             4519  0
led_class               3924  2 leds_gpio,rt2x00lib
i2c_core               23626  11 i2c_bcm2708,au8522_decoder,tuner,snd_soc_pcm512x_i2c,regmap_i2c,au8522_common,au​0828,v4l2_common,tveeprom,xc5000,videodev
bcm2835_gpiomem         2652  0
clk_hifiberry_dacpro     1881  1
uio_pdrv_genirq         2714  0
uio                     6579  1 uio_pdrv_genirq
bcm2708_rng              804  0
rng_core                5192  2 bcm2708_rng
cfg80211              199616  2 mac80211,rt2x00lib
rfkill                 12541  2 cfg80211
uinput                  5871  1
snd_bcm2835            16523  0
snd_pcm                67774  7 snd_bcm2835,snd_soc_pcm512x,snd_usb_audio,snd_soc_core,snd_soc_hifiberry_dac,snd​_pcm_dmaengine,snd_soc_hifiberry_dacplus
Reading the modified source from github, and it was modified for Ubuntu.. even though it compiled and installed. I was then reading in the source downloaded from Mediatek themselves, and it seems I missed a step at the end.. actually loading the module.

Code:
6> load driver, go to "os/linux/" directory.
    #[kernel 2.4]
    #    $/sbin/insmod rt2870sta.o
    #    $/sbin/ifconfig ra0 inet YOUR_IP up
        
    #[kernel 2.6]
    #    $/sbin/insmod rt2870sta.ko
    #    $/sbin/ifconfig ra0 inet YOUR_IP up

7> unload driver    
    $/sbin/ifconfig ra0 down
    $/sbin/rmmod rt2870sta

I'll start again with the original source, and add that step at the end. We shall see.
What happens if you do a
Quote:sudo modprobe mt7610u_sta
Btw, should not be a problem to add this driver to our kernel
(20th Feb, 2016 09:04 AM)Nachteule Wrote: [ -> ]What happens if you do a
Quote:sudo modprobe mt7610u
Btw, should not be a problem to add this driver to our kernel

It gives a fatal panic saying it can't find it. I think it's supposed to be sudo modprobe mt7610Usta, as that's what's needed for the mt7601u chip. Neither work.

I'm coming from openelec, basically because it's so damn hard to add anything to the root system unless you compile it into the entire image. Not as easy as a knoppix remaster though. And osmc's too buggy for me. So.. I came upon xbian. So far I like it.. I can install things. Tongue It also looks like it has perl, or at least I can install it. I need that for zap2xml.
You're right, the module name should be mt7610u_sta. So what happens if you type sudo modprobe mt7610u_sta?
Code:
modprobe: FATAL: Module mt7610u_sta not found.

I'm about to do a fresh install and start over. I must've done something wrong.
Probably module not installed

Btw, I've just added the module source and build prodecure to our kernel build system.

Module will be built and packed successfully into kernel .deb file. Tomorrow after some more tests I'll commit changes and build new kernel packages
(20th Feb, 2016 10:13 AM)Nachteule Wrote: [ -> ]Probably module not installed

Btw, I've just added the module source and build prodecure to our kernel build system.

Module will be built and packed successfully into kernel .deb file. Tomorrow after some more tests I'll commit changes and build new kernel packages

Cool... 'cause now I can't even repeat the build.. lol. Keeps telling me

Code:
make[1]: *** [_module_/home/xbian/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux] Error 2
make[1]: Leaving directory '/usr/src/linux'
Makefile:393: recipe for target 'LINUX' failed
make: *** [LINUX] Error 2

I went through this last night.. many times. I just can't remember what it was that fixed it. Too many read-me's in my folder. Tongue

You're right.. I don't think it loaded. rt2870 should be listed after lsmod.. I'm guessing. I haven't compiled a kernal in years, but I remember a few more steps than what I just tried. Specifically loading the module after building it. That's what I thought "$/sbin/insmod rt2870sta.o" or "$/sbin/insmod rt2870sta.ko" would do. I just can't get back to where I can test it.

Do I need anything else installed library-wise? Google tells me I might need to install linux headers.
Got it to compile again, but it still doesn't load. It seems to install mt7650u_sta.ko.

Code:
root@xbian:/home/xbian/mt7610u_wifi_sta_v3002_dpo_20130916# make install
make -C /home/xbian/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux -f Makefile.6 install
make[1]: Entering directory '/home/xbian/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux'
rm -rf /etc/Wireless/RT2870STA
mkdir /etc/Wireless/RT2870STA
cp /home/xbian/mt7610u_wifi_sta_v3002_dpo_20130916/conf/RT2870STA.dat /etc/Wireless/RT2870STA/.
install -d /lib/modules/4.1.13+/kernel/drivers/net/wireless/
install -m 644 -c mt7650u_sta.ko /lib/modules/4.1.13+/kernel/drivers/net/wireless/
/sbin/depmod -a 4.1.13+
make[1]: Leaving directory '/home/xbian/mt7610u_wifi_sta_v3002_dpo_20130916/os/linux'
root@xbian:/home/xbian/mt7610u_wifi_sta_v3002_dpo_20130916#
WooHoo!! .. Kinda.. lol.

The source I quoted in my 2nd post, builds mt7650u_sta.ko. The source that I said was from a Ubuntu user, builds mt7610u_sat.ko.. but insmod complains..

Code:
insmod: ERROR: could not insert module mt7610u_sta.ko: Invalid module format

I figured i needed the 7610u, not the 7650u. Tried compiling the source from Mediatek's own site.. still gave the error about "recipe for target 'LINUX' failed". So I decided to google about linux-headers for the pi, and came across a thread saying to just "sudo apt-get install linux-headers".. lol. But that command will ask you to specify which linux-headers.. bcm2838 or arm(something). Luckily, I noticed the display when Xbian updated after the initial install..

Code:
Unpacking linux-image-bcm2836 (4.1.13+-1455772365) over (4.1.13+-1455300621)

So...

Code:
apt-get install linux-headers-bcm2836


The build with the source from the main site still crashed.. lol. So I went back to the mt7650u source. The first thing I see.. is it's using the "linux-headers-4.1.13+" directory. It compiles, then installs. I then made sure to load the damn thing this time.. lol.

Code:
/sbin/insmod /home/xbian/mt7610u*/os/linux/mt7650u_sta.ko

Rebooted.. the little blue light started blinking.. I have connection. Smile

I have 2.4g connection... adding the 5g SSD to the /etc/wpa_supplicant/wpa_supplicant.conf results in Xbian showing the device is "Dormant", but after hitting the SSID tab to search and fill the list.. it closes instantly. No list to be had. So either I compiled wrong, or I need to change some settings somewhere.

1/2 way there. Smile
Great Wink things are going on

Yes, the source in your 2nd post builds 7650 module, which should support 7610, 7630 and 7650 chiipset. Now you are at a point I can't help you - no wlan dongle and no 5G AP available
(21st Feb, 2016 01:31 AM)Nachteule Wrote: [ -> ]Great Wink things are going on

Yes, the source in your 2nd post builds 7650 module, which should support 7610, 7630 and 7650 chiipset. Now you are at a point I can't help you - no wlan dongle and no 5G AP available

Googling, it seems it's the kernel that's the issue. Prior to 4.0 they had dual-band with this unit, but 4.1 they don't. There's a mt7612u available, but I ran into the same "recipe for target 'LINUX' failed" issue.

Oh well.. even at 2.4g, this is still faster than the other 2.4g Tenda unit I just replaced.
(21st Feb, 2016 11:15 AM)Nachteule Wrote: [ -> ]Did you found this, especially last post? http://superuser.com/questions/738096/how-to-install-mediatek-mt7610u-rt2860-driver

Yep.. came across that a few times, and yes, I changed it. Not so easy to find in a terminal.. lol.. no line addresses. I needed to open with gedit in ubuntu just to see what lines preceded and followed, just to make sure I had the right instance of 2860 to change.

I liked the tip about commenting out all but the driver version you want. I might try that.

Code:
ifeq ($(CHIPSET),)
CHIPSET = mt7610u
endif

I'm also thinking of trying that source uploaded by the ubuntu user, the x64 source that built the mt7610u.ko, but said invalid format. I'm thinking that was because I didn't have the headers available for the build. Now that I have them, I'll try again.
Pages: 1 2 3 4 5 6
Reference URL's