Siemens Gigaset USB Adapter 300
Uit DeVliegendeWiki
De Siemens Gigaset USB Adapter 300 is een USB WLAN-adapter die het op Ubuntu niet zomaar doet. Laten we hacken.
Bronnen
- Hudson & Hudson: Ubuntu Unleashed, Sams 2007, hoofdstuk 4: Post-Installation Configuration - Systematische aanpak
- http://www.google.com/linux - Rest
Vraagstukken
- Wat voor chipset?
- Wat voor driver?
- Hoe bepaal je welke driver er gebruikt wordt?
Inhoud |
1. dmesg
Commando
dmesg
toont de inhoud van /var/log/messsages, afkomstig van de kernel of andere programmatuur van /etc/init.d of opstartscripts.
dmesg komt onder andere met:
Registered led device: rt2800usb-phy0::radio [33353.494756] Registered led device: rt2800usb-phy0::assoc [33353.494799] Registered led device: rt2800usb-phy0::quality [33353.495339] usbcore: registered new interface driver rt2800usb [33353.576360] rt2870sta: module is from the staging directory, the quality is unknown, you have been warned. [33353.586247] rtusb init ---> [33353.586364] usbcore: registered new interface driver rt2870 [33354.382396] rt2800usb 1-6:1.0: firmware: requesting rt2870.bin [33355.458910] ADDRCONF(NETDEV_UP): wlan0: link is not ready
en een eindeloze stroom meldingen omtrent wlan0. Ik denk dat module rt2870 wordt gebruikt. De regel met de waarschuwing intrigeert.
2. lsusb
lsusb geeft de aangesloten USB-apparaten weer, maar geeft niet het gewenste resultaat. lsusb -t doet het beter:
1-1.2:1.0: No such file or directory
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/8p, 480M
|__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/4p, 480M
|__ Port 2: Dev 4, If 0, Class=print, Driver=, 12M
|__ Port 4: Dev 5, If 0, Class=hub, Driver=hub/4p, 480M
|__ Port 2: Dev 6, If 0, Class=stor., Driver=usb-storage, 480M
|__ Port 2: Dev 3, If 0, Class=vend., Driver=uvcvideo, 480M
|__ Port 2: Dev 3, If 1, Class=vend., Driver=uvcvideo, 480M
|__ Port 2: Dev 3, If 2, Class=audio, Driver=snd-usb-audio, 480M
|__ Port 2: Dev 3, If 3, Class=audio, Driver=snd-usb-audio, 480M
|__ Port 6: Dev 7, If 0, Class=vend., Driver=rt2800usb, 480M
Hieraan kun je zie dat de WLAN-adapter op bus 1 zit, en device 7 is. Met
lsusb -s 1:7 -v
krijg je veel additionele gegevens, maar ik betwijfel of dat helpt.
3. Update
Oh ja: Eerst Ubuntu updaten, voor ik verder hack:
sudo apt-get upgrade
Daarna de adapter loskoppelen, en weer aankoppelen. Ongetwijfeld bestaan er elegantere methodes, maar dit zal ook wel werken. Dit is wat dmesg er van vindt:
[35767.212549] usb 1-6: USB disconnect, address 7 [35767.253015] phy0 -> rt2800usb_wait_wpdma_ready: Error - WPDMA TX/RX busy, aborting. [35772.544040] usb 1-6: new high speed USB device using ehci_hcd and address 8 [35772.694634] usb 1-6: configuration #1 chosen from 1 choice [35772.725956] phy1: Selected rate control algorithm 'minstrel' [35772.727737] Registered led device: rt2800usb-phy1::radio [35772.727780] Registered led device: rt2800usb-phy1::assoc [35772.727823] Registered led device: rt2800usb-phy1::quality [35772.763783] rt2800usb 1-6:1.0: firmware: requesting rt2870.bin [35772.975150] ADDRCONF(NETDEV_UP): wlan0: link is not ready
Hij lijkt nog steeds rt2870 te gebruiken, en hij wil nog steeds niet online.
4. blacklist.conf
Posting http://www.uluga.ubuntuforums.org/showthread.php?p=9885805 spreekt over blacklisting van drivers. Dat lijkt te gaan middels /etc/modprobe.d/blacklist.conf
5. lsmod
Het commando lsmod kom ik regelmatig tegen icm. hacken van apparaten. Output:
Module Size Used by rt2870sta 461811 0 arc4 1153 2 rt2800usb 31531 0 rt2x00usb 9703 1 rt2800usb rt2x00lib 27509 2 rt2800usb,rt2x00usb led_class 2864 1 rt2x00lib mac80211 205402 2 rt2x00usb,rt2x00lib cfg80211 126528 2 rt2x00lib,mac80211 crc_ccitt 1339 1 rt2800usb binfmt_misc 6587 1 fbcon 35102 71 tileblit 2031 1 fbcon font 7557 1 fbcon bitblit 4707 1 fbcon softcursor 1189 1 bitblit vga16fb 11385 0 vgastate 8961 1 vga16fb snd_intel8x0 25588 2 snd_ac97_codec 100646 1 snd_intel8x0 ac97_bus 1002 1 snd_ac97_codec snd_usb_audio 75765 1 snd_pcm_oss 35308 0 snd_mixer_oss 13746 1 snd_pcm_oss snd_pcm 70694 4 snd_intel8x0,snd_ac97_codec,snd_usb_audio,snd_pcm_oss snd_usb_lib 15801 1 snd_usb_audio snd_hwdep 5412 1 snd_usb_audio snd_seq_dummy 1338 0 snd_seq_oss 26722 0 snd_seq_midi 4557 0 snd_rawmidi 19056 2 snd_usb_lib,snd_seq_midi snd_seq_midi_event 6003 2 snd_seq_oss,snd_seq_midi snd_seq 47263 6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event snd_timer 19098 2 snd_pcm,snd_seq snd_seq_device 5700 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq i915 287458 2 drm_kms_helper 29329 1 i915 ppdev 5259 0 uvcvideo 57054 0 usblp 10481 0 drm 162409 3 i915,drm_kms_helper usb_storage 39553 1 snd 54180 18 snd_intel8x0,snd_ac97_codec,snd_usb_audio,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_hwdep,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device videodev 34361 1 uvcvideo intel_agp 24375 2 i915 parport_pc 25962 1 v4l1_compat 13251 2 uvcvideo,videodev soundcore 6620 1 snd psmouse 63245 0 i2c_algo_bit 5028 1 i915 serio_raw 3978 0 snd_page_alloc 7076 2 snd_intel8x0,snd_pcm agpgart 31724 2 drm,intel_agp shpchp 28820 0 lp 7028 0 video 17375 1 i915 output 1871 1 video parport 32635 3 ppdev,parport_pc,lp tg3 109324 0 floppy 53016 0
Dit lijkt weinig toe te voegen.
6. rmmod
Ik kom nu postings tegen die uitleggen dat je met kernelmodules in de weer moet (bv. [1]). Een relatief pijnloze suggestie is om de betreffende module te verwijderen. Dat lijkt me een prettige start:
sudo rmmod rt2800usb
en
sudo rmmod rt2870sta
Goed gedaan: Ik kan de adapter nu helemaal niet meer bereiken. Dit is wat dmesg er van vindt:
usbcore: deregistering interface driver rt2800usb [37753.660018] phy1 -> rt2800usb_wait_wpdma_ready: Error - WPDMA TX/RX busy, aborting. [37870.339250] usbcore: deregistering interface driver rt2870 [37870.339299] <--- rtusb exit
Overig
Firmware
Plaats firmware in
/lib/firmware
Queries
- http://www.google.com/linux?q=rt2870sta%3A+module+is+from+the+staging+directory%2C+the+quality+is+unknown%2C+you+have+been+warned
- http://www.google.com/linux?q=siemens+gigaset+usb+adapter+300+ubuntu
- http://www.google.com/q=ubuntu+replace+rt2870
ndiswrapper
De term ndiswrapper kom ik regelmatig tegen icm. hacken van stuurprogramma's > Laat maar: Is alleen voor specifieke NIC's
modprobe
Nog 's naar kijken
