Forum
trying to install mt7610u (linksys ae6000) - Printable Version

+- Forum (http://forum.xbian.org)
+-- Forum: Hardware (/forum-7.html)
+--- Forum: Network (/forum-25.html)
+--- Thread: trying to install mt7610u (linksys ae6000) (/thread-3343.html)

Pages: 1 2 3 4 5 6


RE: trying to install mt7610u (linksys ae6000) - Nachteule - 7th Mar, 2016 07:55 AM

Watch the commits on github


RE: trying to install mt7610u (linksys ae6000) - Nachteule - 7th Mar, 2016 07:56 AM

... and look to the (closed) issues


RE: trying to install mt7610u (linksys ae6000) - greenbag - 7th Mar, 2016 08:24 AM

So..... ???

Code:
@@ -1086,8 +1086,8 @@ int RtmpOSFileRead(RTMP_OS_FD osfd, char *pDataPtr, int readLen)
    if (osfd->f_op && osfd->f_op->read) {
        return osfd->f_op->read(osfd, pDataPtr, readLen, &osfd->f_pos);
    } else {
-        DBGPRINT(RT_DEBUG_ERROR, ("no file read method\n"));
-        return -1;
+        DBGPRINT(RT_DEBUG_ERROR, ("no file read method, using vfs_read\n"));
+        return vfs_read(osfd, pDataPtr, readLen, &osfd->f_pos);
    }
}

Code:
https://github.com/xtknight/mt7610u-linksys-ae6000-wifi-fixes/commit/d25d8aa7b9cdc7fb7ff2a15f0c8bb993f4dad7cd

Do you have a 5G cellphone? Maybe turn on tethering, and see if you can see it in the list.


RE: trying to install mt7610u (linksys ae6000) - Nachteule - 7th Mar, 2016 09:13 AM

No, my old Samsung Google Nexus only does 2.4G Sad

I want to build an AP (5G) with hostapd and this dongle


RE: trying to install mt7610u (linksys ae6000) - Nachteule - 7th Mar, 2016 09:23 AM

So, new kernel packages for RPi1 and RPi2 (version 4.1.13) with module mt7610u_sta included are online

Btw, if module is not loaded automatically, it has to be added to file /etc/modules


RE: trying to install mt7610u (linksys ae6000) - greenbag - 7th Mar, 2016 09:59 AM

Cool. So was it just the mod to rt_linux.c? I was going to try it myself in a bit.

Btw.. too bad you couldn't hook up a cantenna to a rpi. I have an antenna I made that's good for more than 1 mile. Tongue

Code:
https://web.archive.org/web/20050110015445/http://www.netscum.com/~clapp/wireless.html



RE: trying to install mt7610u (linksys ae6000) - greenbag - 7th Mar, 2016 12:55 PM

WooHoo!!

Applied the fix to rt_linux.c in the source I posted last, and it not only sees my 5G. I needed to specify my 5G in the RT2870STA.dat, wpa_supplicant.conf, and /etc/network/interfaces files. I tried adding 2 essid's following a readme a week or so ago, but that just screwed things all to hell.. lol.

I still get a "failed" in one line, and "error" in 3. Not sure if they're relevant to my situation or not though. I know nothing about networking.. I learn as I go. Tongue


Code:
$ sudo -s
$ apt-get update
$ apt-get install build-essential git make linux-headers-bcm2836 dkms

$ cd /home/xbian
$ git clone https://github.com/chenhaiq/mt7610u_wifi_sta_v3002_dpo_20130916.git
$ cd mt7610u*

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


@@ -1086,8 +1086,8 @@ int RtmpOSFileRead(RTMP_OS_FD osfd, char *pDataPtr, int readLen)
    if (osfd->f_op && osfd->f_op->read) {
        return osfd->f_op->read(osfd, pDataPtr, readLen, &osfd->f_pos);
    } else {
-        DBGPRINT(RT_DEBUG_ERROR, ("no file read method\n"));
-        return -1;
+        DBGPRINT(RT_DEBUG_ERROR, ("no file read method, using vfs_read\n"));
+        return vfs_read(osfd, pDataPtr, readLen, &osfd->f_pos);
    }
}


https://github.com/xtknight/mt7610u-linksys-ae6000-wifi-fixes/commit/d25d8aa7b9cdc7fb7ff2a15f0c8bb993f4dad7cd


$ make clean
$ 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"
}


$ nano /etc/Wireless/RT2870STA/RT2870STA.dat

configure data for your needs


$ reboot

Code:
root@xbian:/home/xbian# iwlist ra0 scan
ra0       Scan completed :
          Cell 01 - Address: 64:55:B1:C4:29:65
                    Protocol:802.11g/n
                    ESSID:"SHAW-2G"
                    Mode:Managed
                    Frequency:2.412 GHz (Channel 1)
                    Quality=100/100  Signal level=-34 dBm  Noise level=-92 dBm
                    Encryption key:on
                    Bit Rates:57.5 Mb/s
                    IE: WPA Version 1
                        Group Cipher : TKIP
                        Pairwise Ciphers (2) : CCMP TKIP
                        Authentication Suites (1) : PSK
                    IE: IEEE 802.11i/WPA2 Version 1
                        Group Cipher : TKIP
                        Pairwise Ciphers (2) : CCMP TKIP
                        Authentication Suites (1) : PSK
                    IE: Unknown: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx​xxxxxxxxxxxxxxxxxxxxxx

          Cell 06 - Address: 64:55:B1:C4:29:66
                    Protocol:802.11a/n
                    ESSID:"SHAW-D7474E-5G"
                    Mode:Managed
                    Frequency:5.18 GHz (Channel 36)
                    Quality=76/100  Signal level=-60 dBm  Noise level=-92 dBm
                    Encryption key:on
                    Bit Rates:120 Mb/s
                    IE: WPA Version 1
                        Group Cipher : TKIP
                        Pairwise Ciphers (2) : CCMP TKIP
                        Authentication Suites (1) : PSK
                    IE: IEEE 802.11i/WPA2 Version 1
                        Group Cipher : TKIP
                        Pairwise Ciphers (2) : CCMP TKIP
                        Authentication Suites (1) : PSK
                    IE: Unknown: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx​xxxxxxxxxxxxxxxxxxxxxx


Code:
root@xbian:/home/xbian# iwconfig
ra0       Ralink STA  ESSID:"SHAW-2G"  Nickname:"MT7610U_STA"
          Mode:Managed  Frequency=2.412 GHz  Access Point: xx:xx:xx:xx:xx:xx  
          Bit Rate=65 Mb/s  
          RTS thr:off   Fragment thr:off
          Encryption key:xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx [2]   Security mode:open
          Link Quality=100/100  Signal level:-34 dBm  Noise level:-51 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Code:
xbian@xbian ~ $ sudo -s
[sudo] password for xbian:
root@xbian:/home/xbian# iwconfig
ra0       Ralink STA  ESSID:"SHAW-5G"  Nickname:"MT7610U_STA"
          Mode:Managed  Frequency=5.18 GHz  Access Point: xx:xx:xx:xx:xx:xx  
          Bit Rate=135 Mb/s  
          RTS thr:off   Fragment thr:off
          Encryption key:xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx [2]   Security mode:open
          Link Quality=100/100  Signal level:-58 dBm  Noise level:-58 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0



Code:
[   11.167935] loading fw......
[   11.376392] #
[   11.641872] RTMP_TimerListAdd: add timer obj b1217e3c!
[   11.641911] RTMP_TimerListAdd: add timer obj b1217e6c!
[   11.641927] RTMP_TimerListAdd: add timer obj b1217e9c!
[   11.641942] RTMP_TimerListAdd: add timer obj b1217e0c!
[   11.641959] RTMP_TimerListAdd: add timer obj b1217d7c!
[   11.641971] RTMP_TimerListAdd: add timer obj b1217dac!
[   11.641983] RTMP_TimerListAdd: add timer obj b11abba4!
[   11.641993] RTMP_TimerListAdd: add timer obj b119b03c!
[   11.642005] RTMP_TimerListAdd: add timer obj b119b070!
[   11.642015] RTMP_TimerListAdd: add timer obj b11abc44!
[   11.642030] RTMP_TimerListAdd: add timer obj b11abb44!
[   11.642052] RTMP_TimerListAdd: add timer obj b11abc14!
[   11.642866] no file read method, using vfs_read
[   11.643669] cfg_mode=5
[   11.643708] wmode_band_equal(): Band Not Equal!
[   11.645329] Key1Str is Invalid key length(0) or Type(0)
[   11.645483] Key2Str is Invalid key length(0) or Type(0)
[   11.645660] Key3Str is Invalid key length(0) or Type(0)
[   11.645845] Key4Str is Invalid key length(0) or Type(0)
[   11.652372] 1. Phy Mode = 31
[   11.653902] 2. Phy Mode = 31
[   11.653927] NVM is Efuse and its size =1d[1e0-1fc]
[   11.680061] /home/xbian/xbian-package-kernel/build/rpi2-4.1.y/working/.mt76x0u/os/linux/../../chips/mt76x0.c:2114 assert (pAd->TxPower[choffset].Channel == 36)failed
[   11.691832] fuse init (API version 7.23)
[   11.720967] mt76x0_read_tx_alc_info_from_eeprom: EEPROM_MT76x0_TEMPERATURE_OFFSET (0xD1) = 0xff
[   11.720994] mt76x0_read_tx_alc_info_from_eeprom: TemperatureOffset = 0xfffffff6
[   11.721004] Temperature Tx ALC not enabled
[   11.748936] 3. Phy Mode = 31
[   11.748975] AntCfgInit: primary/secondary ant 0/1
[   11.758214] RTMPSetPhyMode: channel is out of range, use first channel=1
[   11.762115] MCS Set = ff 00 00 00 01
[   11.776498] <==== rt28xx_init, Status=0
[   11.776531] 80211> re-init bands...
[   11.776911] 80211> re-init bands...
[   11.776940] 80211> RFICType = 3
[   11.776950] 80211> Number of channel = 44
[   11.776959] 80211> Number of rate = 12
[   11.776969] 80211> CurTxPower = 0 dBm
[   11.776991] 80211> TxStream = 1
[   11.777001] crda> CFG80211_RegRuleApply ==>
[   11.777015] crda> reset chan/power for 2.4GHz
[   11.777035] Chan 001:    power 0 dBm, DFS 0, DFS Type 0
[   11.777048] Chan 002:    power 0 dBm, DFS 0, DFS Type 0
[   11.777084] Chan 003:    power 0 dBm, DFS 0, DFS Type 0
[   11.777119] Chan 004:    power 0 dBm, DFS 0, DFS Type 0
[   11.777134] Chan 005:    power 0 dBm, DFS 0, DFS Type 0
[   11.777146] Chan 006:    power 0 dBm, DFS 0, DFS Type 0
[   11.777166] Chan 007:    power 0 dBm, DFS 0, DFS Type 0
[   11.777189] Chan 008:    power 0 dBm, DFS 0, DFS Type 0
[   11.777201] Chan 009:    power 0 dBm, DFS 0, DFS Type 0
[   11.777224] Chan 010:    power 0 dBm, DFS 0, DFS Type 0
[   11.777256] Chan 011:    power 0 dBm, DFS 0, DFS Type 0
[   11.777269] Chan 012:    power 0 dBm, DFS 0, DFS Type 0
[   11.777292] Chan 013:    power 0 dBm, DFS 0, DFS Type 0
[   11.777304] Chan 014:    power 0 dBm, DFS 0, DFS Type 0
[   11.777312] crda> reset chan/power for 5GHz
[   11.777326] Chan 036:    power 0 dBm, DFS 0, DFS Type 0
[   11.777337] Chan 038:    power 0 dBm, DFS 0, DFS Type 0
[   11.777348] Chan 040:    power 0 dBm, DFS 0, DFS Type 0
[   11.777360] Chan 044:    power 0 dBm, DFS 0, DFS Type 0
[   11.777371] Chan 046:    power 0 dBm, DFS 0, DFS Type 0
[   11.777385] Chan 048:    power 0 dBm, DFS 0, DFS Type 0
[   11.777401] Chan 052:    power 0 dBm, DFS 1, DFS Type 0
[   11.777412] Chan 054:    power 0 dBm, DFS 1, DFS Type 0
[   11.777426] Chan 056:    power 0 dBm, DFS 1, DFS Type 0
[   11.777440] Chan 060:    power 0 dBm, DFS 1, DFS Type 0
[   11.777453] Chan 062:    power 0 dBm, DFS 1, DFS Type 0
[   11.777464] Chan 064:    power 0 dBm, DFS 1, DFS Type 0
[   11.777476] Chan 100:    power 0 dBm, DFS 1, DFS Type 0
[   11.777487] Chan 104:    power 0 dBm, DFS 1, DFS Type 0
[   11.777498] Chan 108:    power 0 dBm, DFS 1, DFS Type 0
[   11.777515] Chan 112:    power 0 dBm, DFS 1, DFS Type 0
[   11.777530] Chan 116:    power 0 dBm, DFS 1, DFS Type 0
[   11.777542] Chan 118:    power 0 dBm, DFS 1, DFS Type 0
[   11.777554] Chan 120:    power 0 dBm, DFS 1, DFS Type 0
[   11.777569] Chan 124:    power 0 dBm, DFS 1, DFS Type 0
[   11.777582] Chan 126:    power 0 dBm, DFS 1, DFS Type 0
[   11.777593] Chan 128:    power 0 dBm, DFS 1, DFS Type 0
[   11.777604] Chan 132:    power 0 dBm, DFS 1, DFS Type 0
[   11.777616] Chan 134:    power 0 dBm, DFS 1, DFS Type 0
[   11.777628] Chan 136:    power 0 dBm, DFS 1, DFS Type 0
[   11.777641] Chan 140:    power 0 dBm, DFS 1, DFS Type 0
[   11.777654] Chan 149:    power 0 dBm, DFS 0, DFS Type 0
[   11.777667] Chan 151:    power 0 dBm, DFS 0, DFS Type 0
[   11.777679] Chan 153:    power 0 dBm, DFS 0, DFS Type 0
[   11.777693] Chan 157:    power 0 dBm, DFS 0, DFS Type 0
[   11.777705] Chan 159:    power 0 dBm, DFS 0, DFS Type 0
[   11.777719] Chan 161:    power 0 dBm, DFS 0, DFS Type 0
[   11.777750] Chan 165:    power 0 dBm, DFS 0, DFS Type 0
[   11.777761] Chan 167 (frq 5835):    not allowed!
[   11.777772] Chan 169 (frq 5845):    not allowed!
[   11.777785] Chan 171 (frq 5855):    not allowed!
[   11.777796] Chan 173 (frq 5865):    not allowed!
[   11.777807] Chan 184 (frq 4920):    not allowed!
[   11.777832] Chan 188 (frq 4940):    not allowed!
[   11.777855] Chan 192 (frq 4960):    not allowed!
[   11.777875] Chan 196 (frq 4980):    not allowed!
[   11.777886] Chan 208 (frq 6040):    not allowed!
[   11.777895] Chan 212 (frq 6060):    not allowed!
[   11.777904] Chan 216 (frq 6080):    not allowed!
[   11.777915] crda> Number of channels = 47
[   11.780029] 0x1300 = 00064300
[   11.780062] RTMPDrvSTAOpen(1):Check if PDMA is idle!
[   11.780447] RTMPDrvSTAOpen(2):Check if PDMA is idle!
[   11.780997] 80211> CFG80211_OpsPwrMgmt ==>
[   11.781132] cfg80211: Calling CRDA to update world regulatory domain
[   11.784996] au8522 3-0047: attaching existing instance
[   11.791130] xc5000 3-0061: attaching existing instance
[   11.797312] xc5000: Successfully identified at address 0x61
[   11.797339] xc5000: Firmware has not been loaded previously
[   11.797358] DVB: registering new adapter (au0828)
[   11.797391] usb 1-1.5.5: DVB: registering adapter 0 frontend 0 (Auvitek AU8522 QAM/8VSB Frontend)...
[   11.808651] 80211> CFG80211_OpsPmksaFlush ==>
[   11.923193] 80211> CFG80211_OpsScan ==>
[   12.256328] Registered IR keymap rc-hauppauge
[   12.257360] input: au0828 IR (Hauppauge HVR950Q) as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5.5/rc/rc0/input1
[   12.275607] rc0: au0828 IR (Hauppauge HVR950Q) as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5.5/rc/rc0
[   12.306895] IR NEC protocol handler initialized
[   12.314109] IR RC6 protocol handler initialized
[   12.331637] IR JVC protocol handler initialized
[   12.335764] IR RC5(x/sz) protocol handler initialized
[   12.338911] IR Sony protocol handler initialized
[   12.358839] IR SANYO protocol handler initialized
[   12.359990] IR Sharp protocol handler initialized
[   12.374907] au0828: Remote controller au0828 IR (Hauppauge HVR950Q) initalized
[   12.374997] au0828: Registered device AU0828 [Hauppauge HVR950Q]
[   12.376472] usbcore: registered new interface driver au0828
[   12.389069] input: MCE IR Keyboard/Mouse (au0828-input) as /devices/virtual/input/input2
[   12.405791] IR MCE Keyboard/mouse protocol handler initialized
[   12.406630] rc rc0: lirc_dev: driver ir-lirc-codec (au0828-input) registered at minor = 1
[   12.406661] IR LIRC bridge handler initialized
[   12.407238] IR XMP protocol handler initialized
[   12.453324] usbcore: registered new interface driver snd-usb-audio
[   13.626003] 80211> Can not find any chan info!
[   13.661605] 80211> Can not find any chan info!
[   13.674373] 80211> Can not find any chan info!
[   14.017252] cfg80211: Calling CRDA to update world regulatory domain
[   14.027114] input: lircd as /devices/virtual/input/input3
[   14.922313] cfg80211: Calling CRDA to update world regulatory domain
[   17.512523] cfg80211: Calling CRDA to update world regulatory domain
[   18.008797] 80211> cfg80211_scan_done
[   18.011773] 80211> CFG80211_OpsSurveyGet ==>
[   18.011823] 80211> busy time = 0 0
[   18.016977] 80211 [CONNECT TEST]> CFG80211_OpsConnect ==>
[   18.017009] Groupwise: fac02
[   18.017018] Pairwise fac04
[   18.017027] Wpa_versions 2
[   18.017035] Keymgmt fac02
[   18.017043] Auth_type 0
[   18.017050] WLAN_CIPHER_SUITE_CCMP...
[   18.017060] ConnInfo.KeyLen ===> 0
[   18.017067] ConnInfo.KeyIdx ===> 0
[   18.017092] 80211> Connect bssid 64:55:b1:c4:29:66
[   18.017124] 80211> EncrypType = 6
[   18.050629] PeerBeaconAtJoinAction(): HT-CtrlChannel=36, CentralChannel=>38
[   18.050660] PeerBeaconAtJoinAction(): Set CentralChannel=38
[   18.050700] AdjustChannelRelatedValue(): Input BW=1, rf_channel=38, vht_bw=1, Channel=36, vht_cent_ch=0!
[   18.064350] cfg80211: Calling CRDA to update world regulatory domain
[   18.086352] DETECT SUPPLICANT ENABLED
[   18.086377] DETECT NATIVE SUPPLICANT ENABLED
[   18.087855] ASSOC - Send ASSOC request...
[   18.087887] DETECT SUPPLICANT ENABLED
[   18.088862] ASSOC - AuthMode = 7
[   18.088875] ERROR!!! Storing RSS_IE for WPA SM negotiation later
[   18.088897] AssocPostProc():=> Store RSN_IE for WPA2 SM negotiation
[   18.088929] DETECT NATIVE SUPPLICANT ENABLED (send len=48)
[   18.089306] ASSOC - PeerAssocRspAction() connect inform
[   18.089322] 80211> CFG80211_ConnectResultInform ==>
[   18.354702] Rcv Wcid(1) AddBAReq
[   18.354734] Start Seq = 00000000
[   18.354753] RTMP_TimerListAdd: add timer obj b1264164!
[   18.354836] Rcv Wcid(1) AddBAReq
[   18.354849] Start Seq = 00000001
[   18.355790] ERROR!!! CntlEnqueueForRecv: BlockAck Request frame length size = 44 incorrect
[   19.009009] 80211> CFG80211_OpsKeyAdd ==>
[   19.022993] 80211> CFG80211_OpsKeyDefaultSet ==>
[   19.023025] 80211> KeyIdx = 0
[   19.023332] 80211> CFG80211_OpsKeyAdd ==>
[   19.458783] RTMP_TimerListAdd: add timer obj b1262150!
[   20.758688] systemd-logind[2155]: New seat seat0.
[   20.788568] RTMP_TimerListAdd: add timer obj b1262190!
[   21.206307] cfg80211: Calling CRDA to update world regulatory domain
[   24.348316] cfg80211: Calling CRDA to update world regulatory domain
[   26.696382] EXT4-fs (sda1): recovery complete
[   26.696466] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
[   27.429822] init: wait-for-state (xbmcxbmc-loaded) main process (1638) killed by TERM signal
[   27.530717] cfg80211: Calling CRDA to update world regulatory domain
[   30.535063] ERROR!!! CntlEnqueueForRecv: BlockAck Request frame length size = 44 incorrect
[   30.672320] cfg80211: Calling CRDA to update world regulatory domain
[   31.158113] Indicate_Legacy_Packet():flush reordering_timeout_mpdus! RxWI->Flags=128, pRxWI.TID=0, RxD->AMPDU=0!
[   31.158154] c, flush one!
[   33.814315] cfg80211: Calling CRDA to update world regulatory domain
[   34.633790] init: xbmc-failed-start main process (268) killed by TERM signal
[   34.673504] init: wait-for-state (zram-swapxbmc-done) main process (1466) killed by TERM signal
[   36.956325] cfg80211: Calling CRDA to update world regulatory domain
[   37.822935] Rcv Wcid(1) AddBAReq
[   37.822966] Start Seq = 00000000
[   37.822987] RTMP_TimerListAdd: add timer obj b12641bc!
[   37.823630] ERROR!!! CntlEnqueueForRecv: BlockAck Request frame length size = 44 incorrect
[   40.098340] cfg80211: Exceeded CRDA call max attempts. Not calling CRDA
[   41.822175] ERROR!!! CntlEnqueueForRecv: BlockAck Request frame length size = 44 incorrect
[   45.346327] usb 1-1.5.6: new full-speed USB device number 9 using dwc_otg
[   45.437734] usb 1-1.5.6: New USB device found, idVendor=045e, idProduct=0745
[   45.437770] usb 1-1.5.6: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[   45.437788] usb 1-1.5.6: Product: Microsoft® 2.4GHz Transceiver v8.0
[   45.437802] usb 1-1.5.6: Manufacturer: Microsoft
[   45.449281] input: Microsoft Microsoft® 2.4GHz Transceiver v8.0 as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5.6/1-1.5.6:1.0/0003:045E:0745.0005/input/input4
[   45.501309] hid-generic 0003:045E:0745.0005: input,hidraw2: USB HID v1.11 Keyboard [Microsoft Microsoft® 2.4GHz Transceiver v8.0] on usb-3f980000.usb-1.5.6/input0
[   45.525309] input: Microsoft Microsoft® 2.4GHz Transceiver v8.0 as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5.6/1-1.5.6:1.1/0003:045E:0745.0006/input/input5
[   45.577914] hid-generic 0003:045E:0745.0006: input,hidraw3: USB HID v1.11 Mouse [Microsoft Microsoft® 2.4GHz Transceiver v8.0] on usb-3f980000.usb-1.5.6/input1
[   45.626703] input: Microsoft Microsoft® 2.4GHz Transceiver v8.0 as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5.6/1-1.5.6:1.2/0003:045E:0745.0007/input/input6
[   45.680196] hid-generic 0003:045E:0745.0007: input,hiddev0,hidraw4: USB HID v1.11 Device [Microsoft Microsoft® 2.4GHz Transceiver v8.0] on usb-3f980000.usb-1.5.6/input2
[   64.719725] usb 1-1.5.6: USB disconnect, device number 9
[   88.979497] systemd-logind[2155]: Failed to start user service: Unknown unit: user@1000.service
[   88.993945] systemd-logind[2155]: New session 1 of user xbian.
[  112.833861] 3, flush one!
root@xbian:/home/xbian#



edit: that's built on the Valentine's release.


RE: trying to install mt7610u (linksys ae6000) - greenbag - 7th Mar, 2016 03:20 PM

btw... all the other 5G sources are 135Mb/s as well, even another SHAW-(x)-5G in my area. So I guess that's as good as it gets.


RE: trying to install mt7610u (linksys ae6000) - greenbag - 7th Mar, 2016 09:54 PM

Found out why my unit's capped out at 135 Mb/s, while I read others at 400 Mb/s. It's the bandwidth your provider gives you. I have a choice of 20 Mhz or 40 Mhz. Depending on the QAM, 40 Mhz caps out at 200 Mhz. 80 Mhz channels max out at 433.3 Mhz, and 160 Mhz channels max out at 866.7 Mhz. lol.

Code:
https://en.wikipedia.org/wiki/IEEE_802.11ac#Data_rates_and_speed

The only things I can change in modem, is...

Code:
Wireless Radio Enable = Enabled
Output Power = 100%
802.11 mode = a/n mode
Bandwidth = 40 Mhz (other choice: 20 Mhz)
Sideband = Lower (other choice: Higher)
Channel = 149 (other choice: 36, 44, 157)

Unless it's modem specific, I'd say my provider hasn't caught up to the rest of the world. Tongue

Actually.. reading below that chart on wikipedia, it sounds like it is the modem.. or the chipset it uses more specifically..

Quote:Several companies are currently offering 802.11ac chipsets with higher modulation rates: MCS-10 and MCS-11 (1024-QAM), supported by Quantenna and Broadcom. Although technically not part of 802.11ac, these new MCS indices are expected to become official in the 802.11ax standard (2017-2019), the successor to 802.11ac.



RE: trying to install mt7610u (linksys ae6000) - greenbag - 11th Mar, 2016 04:58 PM

So... I just found a script that makes setting up the kernel stuffs automatic. Only problem, is it downloads the wrong kernel package. I've been playing with it on Ubuntu Mate on my pi, and it's the only way I can get the damn source to compile. It just creates a non-compatible module. Tongue

Code:
#!/usr/bin/env python

#
# Copyright (C) 2014 Noralf Tronnes
#
# MIT License
#

import os
import sys
import argparse
import urllib
import urllib2
import urlparse
import gzip
import subprocess
import re
import json
import platform

# used by archive file and unpacked archive
DISK_USAGE_MB = 900

wiki = "https://github.com/notro/rpi-source/wiki"
script_repo = "https://github.com/notro/rpi-source"

update_tag_file = os.path.join(os.environ.get('HOME'), '.rpi-source')
argv = sys.argv[:]

parser = argparse.ArgumentParser(description='Raspberry Pi kernel source installer',
                                  epilog="For more help see: %s" % wiki)
parser.add_argument("-d", "--dest", help="Destination directory. Default is $HOME",
                    default=os.environ.get('HOME'))
parser.add_argument("--nomake", help="Don't run 'make modules_prepare'",
                    action="store_true")
if os.environ.get('REPO_URI'):
    repo_uri = os.environ.get('REPO_URI')
else:
    repo_uri = "https://github.com/Hexxeh/rpi-firmware"
parser.add_argument("--uri", help="Github repository to use. Default is '%s'" % repo_uri,
                    default=repo_uri)
parser.add_argument("--delete", help="Delete downloaded archive",
                    action="store_true")
parser.add_argument("-s", "--dry-run", help="No action; perform a simulation of events that would occur but do not actually change the system.",
                    action="store_true")
parser.add_argument("-v", "--verbose", help="Verbose",
                    action="store_true")
parser.add_argument("-q", "--quiet", help="Quiet",
                    action="store_true")
parser.add_argument("-g", "--default-config", help="Generate a default kernel configuration with 'make bcmrpi_defconfig'",
                    action="store_true")
parser.add_argument("--skip-gcc", help="Skip gcc version check",
                    action="store_true")
parser.add_argument("--skip-space", help="Skip disk space check",
                    action="store_true")
parser.add_argument("--skip-update", help="Skip checking for update to this script",
                    action="store_true")
parser.add_argument("--tag-update", help="Tell the update mechanism that this is the latest version of the script",
                    action="store_true")
args = parser.parse_args()


class Kernel:
    pass

def debug(str):
    if args.verbose:
        print(str)

def info(str):
    if not args.quiet:
        print("\n *** %s" % str)

def warn(str):
    if not args.quiet:
        print("\n !!! %s" % str)

def fail(str):
    sys.stderr.write("ERROR:\n%s\n\nHelp: %s\n" % (str, wiki))
    exit(1)

def sh(cmd):
    debug("%s" % cmd)
    if not args.dry_run:
        subprocess.check_call(cmd, shell=True)

def sh_out(cmd):
    process = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    out, err = process.communicate()
    errcode = process.returncode
    if errcode:
        return None
    return out

def writef(f, str, mode='w'):
    debug("writef(%s)" % f)
    if not args.dry_run:
        with open(f, mode) as f:
            f.write(str)

def download(url):
    debug("download: %s" % url)
    try:
        res = urllib2.urlopen(url).read()
    except urllib2.HTTPError, e:
        fail("Couldn't download %s, HTTPError: %s" % (url, e.code))
    except urllib2.URLError, e:
        fail("Couldn't download %s, URLError: %s" % (url, e.args))
    return res

def download_to(url, file):
    debug("download_to: %s -> %s" % (url, file))
    if not args.dry_run:
        urllib.urlretrieve (url, file)

def update_get_head():
    if update_get_head.ref:
        return update_get_head.ref
    repo_short = urlparse.urlparse(script_repo).path
    repo_api = "https://api.github.com/repos%s/git/refs/heads/master" % repo_short
    res = download(repo_api)
    try:
        j = json.loads(res)
    except ValueError:
        j = {}
    if 'object' in j and 'sha' in j['object']:
        update_get_head.ref = j['object']['sha']
        return update_get_head.ref
    else:
        warn("Self update: Could not get ref of last commit")
        debug("Github returned:\n%s" % res)
        return None
update_get_head.ref = None

def is_update_needed():
    debug("Check for update to rpi-source")
    if not os.path.exists(update_tag_file):
        return True
    ref = update_get_head()
    if not ref:
        return False
    with open(update_tag_file) as f:
        tag_file_ref = f.read().strip()
    if ref != tag_file_ref:
        return True
    else:
        return False

def update_tag():
    ref = update_get_head()
    if not ref:
       exit(1)
    info("Set update tag: %s" % ref)
    writef(update_tag_file, ref)

def do_update():
    # MOD: replace current script; do not assume script is located at /usr/bin/rpi-source; also keep ownership and permissions
    script_name = argv[0]
    info("Updating rpi-source")
    sh("sudo wget %s https://raw.githubusercontent.com/notro/rpi-source/master/rpi-source -O %s" % ("-q" if args.quiet else "", script_name))
    update_tag()
    info("Restarting rpi-source")
    argv.insert(0, sys.executable)
    os.execv(sys.executable, argv)

def check_diskspace(dir):
    df = sh_out("df %s" % dir)
    nums = re.findall(r'\d+\w+\d+\w+\d+', df)
    if not nums or len(nums) != 3:
        info("Warning: unable to check available diskspace")
    if (int(nums[2]) / 1024) < DISK_USAGE_MB:
        fail("Not enough diskspace (%dMB) on %s\nSkip this check with --skip-space" % (DISK_USAGE_MB, dir))

# see if gcc major.minor version matches the one used to build the running kernel
def check_gcc():
    cmd = 'gcc --version'
    process = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    out, err = process.communicate()
    errcode = process.returncode
    if errcode:
        fail("gcc version check failed: '%s' returned %d" %(cmd, errcode))
    gcc_ver = re.findall(r'\d\.\d\.\d$', out, re.MULTILINE)

    with open('/proc/version', 'r') as f:
        proc_version = f.read()
    gcc_ver_kernel = re.search(r'gcc version (\d\.\d\.\d)', proc_version)

    if not gcc_ver or not gcc_ver_kernel:
        fail("gcc version check failed: could not extract version numbers\nSkip this check with --skip-gcc")
        return
    a = gcc_ver[0].split('.')
    b = gcc_ver_kernel.group(1).split('.')

    if a[0] == b[0] and a[1] == b[1]:
        info("gcc version check: OK")
    else:
        fail("gcc version check: mismatch between gcc (%s) and /proc/version (%s)\nSkip this check with --skip-gcc" % (gcc_ver[0], gcc_ver_kernel.group(1)))

def proc_config_gz():
    if not os.path.exists('/proc/config.gz'):
        sh("sudo modprobe configs 2> /dev/null")

    if not os.path.exists('/proc/config.gz'):
        return ''

    with gzip.open('/proc/config.gz', 'rb') as f:
        return f.read()

def rpi_update_method(uri):
    kernel = Kernel()

    info("rpi-update: %s" % uri)

    with open("/boot/.firmware_revision") as f:
        fw_rev = f.read().strip()
    info("Firmware revision: %s" % fw_rev)

    repo_short = urlparse.urlparse(uri).path

    repo_api = "https://api.github.com/repos%s" % repo_short
    repo_raw = "https://raw.githubusercontent.com%s" % repo_short

    kernel.git_hash = download("%s/%s/git_hash" % (repo_raw, fw_rev)).strip()
    if board_type == 1:
        kernel.symvers = "%s/%s/Module.symvers" % (repo_raw, fw_rev)
    else:
        kernel.symvers = "%s/%s/Module7.symvers" % (repo_raw, fw_rev)

    if not args.default_config:
        kernel.config = proc_config_gz()

    return kernel

def debian_method(fn):
    kernel = Kernel()
    info("Using: %s" % fn)
    with gzip.open(fn, 'rb') as f:
        debian_changelog = f.read()

    # Remove blank lines
    changelog = os.linesep.join([s for s in debian_changelog.splitlines() if s])

    # Find first firmware entry in log (latest entries are at the top)
    fw_rev = re.search(r'firmware as of ([0-9a-fA-F]+)', changelog)
    if not fw_rev:
        fail("Could not identify latest firmware revision")
    end = fw_rev.end()
    start = fw_rev.start()

    # Find following change author line
    author = re.search(r' --(.+?)\n', changelog[end:] )
    if not author:
        fail("Could not identify latest revision's author")

    fw_rev = fw_rev.group(1)

    headers = re.findall(r'(raspberrypi-firmware .+?)\n', changelog[:start])
    if not headers:
        fail("Could not find start of change block in log file")

    # use the last header before the "firmware as" line
    header = headers[-1]

    debug("Latest changes: %s" % header)
    info("Latest firmware revision: %s" % fw_rev)
    debug("Latest change made by %s" % author.group(1))

    repo_raw = "https://raw.githubusercontent.com/raspberrypi/firmware"

    kernel.git_hash = download("%s/%s/extra/git_hash" % (repo_raw, fw_rev)).strip()
    if board_type == 1:
        kernel.symvers = "%s/%s/extra/Module.symvers" % (repo_raw, fw_rev)
    else:
        kernel.symvers = "%s/%s/extra/Module7.symvers" % (repo_raw, fw_rev)

    if not args.default_config:
        kernel.config = proc_config_gz()

    return kernel


def check_cpu():
    cpuType = platform.machine()
    if cpuType == "armv7l":
        return 2
    if cpuType == "armv6l":
        return 1
    fail("Unrecognised CPU %s" % cpuType)


##############################################################################

board_type = check_cpu()

# FIX usage of -d DEST with relative pathnames
args.dest = os.path.abspath(args.dest)

if args.tag_update:
    update_tag()
    exit(0)

if not args.skip_update and is_update_needed():
    do_update()

if not os.path.isdir(args.dest):
    fail("Destination directory missing: %s" % args.dest)

if not args.skip_gcc:
    check_gcc()

debianlog = "/usr/share/doc/raspberrypi-bootloader/changelog.Debian.gz"
if os.path.exists("/boot/.firmware_revision"):
    kernel = rpi_update_method(args.uri)
elif os.path.exists(debianlog):
    kernel = debian_method(debianlog)
else:
    fail("Can't find a source for this kernel")

info("Linux source commit: %s" % kernel.git_hash)

linux_dir = os.path.join(args.dest, "linux-%s" % kernel.git_hash)
if os.path.exists(linux_dir):
    info("Kernel source already installed: %s\n" % linux_dir)
    exit(1)

if not args.skip_space:
    check_diskspace(args.dest)

linux_tar = os.path.join(args.dest, "linux-%s.tar.gz" % kernel.git_hash)
if not os.path.exists(linux_tar):
    info("Download kernel source")
    sh("wget %s -O %s https://github.com/raspberrypi/linux/archive/%s.tar.gz" % (("-q" if args.quiet else ""), linux_tar, kernel.git_hash))
else:
    info("Download kernel source: Already downloaded %s" % linux_tar)

info("Unpack kernel source")
if args.quiet:
    sh("cd %s && tar -xzf %s" % (args.dest, linux_tar))
else:
    sh("cd %s && tar --checkpoint=100 --checkpoint-action=dot -xzf %s" % (args.dest, linux_tar))

info("set 'EXTRAVERSION = +' in Makefile")
sh("sed -i 's/EXTRAVERSION =.*/EXTRAVERSION = +/' %s" % os.path.join(linux_dir, 'Makefile'))

linux_symlink = os.path.join(args.dest, 'linux')
info("Create symlink: %s" % linux_symlink)
sh("rm -f %s" % linux_symlink)
sh("ln -s %s %s" % (linux_dir, linux_symlink))

info("Create /lib/modules/<ver>/{build,source} symlinks")
sh("sudo rm -f /lib/modules/$(uname -r)/build /lib/modules/$(uname -r)/source")
sh("sudo ln -sf %s /lib/modules/$(uname -r)/build" % linux_symlink)
sh("sudo ln -sf %s /lib/modules/$(uname -r)/source" % linux_symlink)

if args.default_config or not kernel.config:
    info(".config (generating default)")
    if board_type == 1:
        sh("cd %s && make bcmrpi_defconfig" % (linux_symlink,))
    else:
        sh("cd %s && make bcm2709_defconfig" % (linux_symlink,))
else:
    info(".config")
    writef(os.path.join(linux_dir, '.config'), kernel.config)

info("Module.symvers")
download_to(kernel.symvers, os.path.join(linux_dir, "Module.symvers"))
sh("cd %s && cp -a Module.symvers Module.symvers.backup" % linux_dir)

if not args.nomake:
    info("make modules_prepare")
    sh("cd %s && make modules_prepare %s" % (linux_symlink, (" > /dev/null" if args.quiet else "")))

if not os.path.exists('/usr/include/ncurses.h'):
    info("ncurses-devel is NOT installed. Needed by 'make menuconfig'. On Raspbian sudo apt-get install libncurses5-dev")

if args.delete:
    info("Delete downloaded archive")
    sh("rm %s" % linux_tar)

info("Help: %s" % wiki)

Code:
https://github.com/notro/rpi-source



RE: trying to install mt7610u (linksys ae6000) - TheDutypaid - 14th May, 2017 06:52 AM

Just got one of the MT7610u (148f:7601 Ralink Technology, Corp.) dongles today. After reading through 5 pages I have no idea how to install it?

A little help please, thank you.


RE: trying to install mt7610u (linksys ae6000) - Nachteule - 14th May, 2017 10:18 PM

@TheDutypaid

Plug and play, should work out of the box Smile line many other usb dongles


RE: trying to install mt7610u (linksys ae6000) - TheDutypaid - 15th May, 2017 02:18 AM

(14th May, 2017 10:18 PM)Nachteule Wrote:  @TheDutypaid

Plug and play, should work out of the box Smile line many other usb dongles

Yes, have read the same. Mine just won't play ball.

It was fine on another pi running Retropie but not with Xbian. In the Xbian config Network was greyed out just with a up/down arrow next to it and my router page did not show it connected.

lsusb, shows the dongle, so does that mean it is 'installed'?

I am not sure if I should go for a full clean install, but then it took me sometime to install all the plugins.


RE: trying to install mt7610u (linksys ae6000) - Nachteule - 15th May, 2017 02:32 AM

(15th May, 2017 02:18 AM)TheDutypaid Wrote:  
(14th May, 2017 10:18 PM)Nachteule Wrote:  @TheDutypaid

Plug and play, should work out of the box Smile line many other usb dongles

Yes, have read the same. Mine just won't play ball.

It was fine on another pi running Retropie but not with Xbian. In the Xbian config Network was greyed out just with a up/down arrow next to it and my router page did not show it connected.

lsusb, shows the dongle, so does that mean it is 'installed'?

No, that's just indication that there is device connect to usb port, nothing more

Module mt7610u_sta has to be loaded, and sudo ip addr has to show ra0 as device

Terminal

root@xbian ~ # lsmod | grep mt
mt7610u_sta 938483 0
cfg80211 475598 1 mt7610u_sta
root@xbian ~ # ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether b8:27:eb:80:41:65 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.50/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
3: ra0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether f4:f2:6d:1d:fe:9e brd ff:ff:ff:ff:ff:ff
inet 192.168.1.61/24 brd 192.168.1.255 scope global ra0
valid_lft forever preferred_lft forever
root@xbian ~ # sudo ifconfig
eth0 Link encap:Ethernet HWaddr b8:27:eb:80:41:65
inet addr:192.168.1.50 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1494 errors:0 dropped:0 overruns:0 frame:0
TX packets:891 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:856024 (835.9 KiB) TX bytes:111612 (108.9 KiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:50 errors:0 dropped:0 overruns:0 frame:0
TX packets:50 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:2358 (2.3 KiB) TX bytes:2358 (2.3 KiB)

ra0 Link encap:Ethernet HWaddr f4:f2:6d:1d:fe:9e
inet addr:192.168.1.61 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:18169 errors:0 dropped:0 overruns:198 frame:198
TX packets:165 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4576640 (4.3 MiB) TX bytes:27770 (27.1 KiB)

root@xbian ~ #

^^ That's output of my test XBian with usb dongle connected

Quote:I am not sure if I should go for a full clean install, but then it took me sometime to install all the plugins.

Make backup of your /home folder (Kodi xbian-config GUI, category Backup), then you should be save to make fresh install and you can restore /home whenever you want Smile


RE: trying to install mt7610u (linksys ae6000) - TheDutypaid - 15th May, 2017 05:53 AM

Here is the output,
Terminal
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group defaul t qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP gr oup default qlen 1000
link/ether 74Big Grina:38:4a:02:ea brd ff:ff:ff:ff:ff:ff
inet 192.168.1.90/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever

I do have both the dongle and my LAN plugged in at the same time so I can SSH in.