7th Mar, 2016, 07:55 AM
7th Mar, 2016, 07:56 AM
... and look to the (closed) issues
7th Mar, 2016, 08:24 AM
So..... ???
Do you have a 5G cellphone? Maybe turn on tethering, and see if you can see it in the list.
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.
7th Mar, 2016, 09:13 AM
No, my old Samsung Google Nexus only does 2.4G
I want to build an AP (5G) with hostapd and this dongle
I want to build an AP (5G) with hostapd and this dongle
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
Btw, if module is not loaded automatically, it has to be added to file /etc/modules
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.
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.
Code:
https://web.archive.org/web/20050110015445/http://www.netscum.com/~clapp/wireless.html
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.
edit: that's built on the Valentine's release.
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.
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: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
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: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
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.
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.
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.
The only things I can change in modem, is...
Unless it's modem specific, I'd say my provider hasn't caught up to the rest of the world.
Actually.. reading below that chart on wikipedia, it sounds like it is the modem.. or the chipset it uses more specifically..
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.
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.
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.
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
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.
A little help please, thank you.
14th May, 2017, 10:18 PM
15th May, 2017, 02:18 AM
(14th May, 2017 10:18 PM)Nachteule Wrote: [ -> ]@TheDutypaid
Plug and play, should work out of the box 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.
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 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
15th May, 2017, 05:53 AM
Here is the output,
I do have both the dongle and my LAN plugged in at the same time so I can SSH in.
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 74a: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
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 74a: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.