Welcome to Evernet User Manual on Pe 24.11.2017 [02:03 UTC]

udev rules mokkuloille

tulosta

Udev-säännöt USB-modeemien vaihtamiseksi modeemitilaan

Tällä ohjeella saat muutoin usb_modeswitchiä tai manuaalista ejectiä vaativat modeemit vaihtamaan kytkettäessä modeemitilaan automaattisesti. Tämän esimerkin udev-tiedostossa mukana:
- A-Link 3GU Turbo
- Huawei E1552
- Huawei E1762
- Nokia CS-15
- Siptune LM-75
- ZTE MF 636+

Päivitys 6.5.11: BandLuxe-modeemit Ubuntu 11:ssa

BandRich C339 testattu toimivaksi Ubuntu 11.04:ssä suoraan ilman mitään lisätoimenpiteitä. Network manager hallitsee tikun modeemitilan automaattisesti.

Päivitys 27.4.11: BandLuxe-modeemit Ubuntu 10.xx:ssä

BandRichin USB-modeemit saa toimimaan hienosti 10-tason Ubuntuissa modeemille eject-komennon antavan udev rule -tiedoston avulla.

1. Luo BandLuxe vendor ID:llä käynnistyvä udev rule -tiedosto:

echo -e '# udev-rules for switching BandLuxe modems from storage mode to modem mode - anttu v.110427 \n\nBUS=="usb", SUBSYSTEM=="block", SYSFS{idVendor}=="1a8d", ACTION=="add", RUN+="/usr/bin/eject -s %N", OPTIONS+="last_rule"' > 25-c339.rules

(Echo-komennon sisältö täytyy olla yksinkertaisten hipsukoiden sisässä, jotta tuplahipsukat kopioituvat oikein.)


2. Kopioi tiedosto /etc/udev/rules.d -hakemistoon
sudo cp 25-c339.rules /etc/udev/rules.d/


3. Uudelleen lataa udev-säännöt:

sudo udevadm control --reload-rules


4. Kytke modeemi tietokoneeseen, ja tämä tunnistuu nyt automaattisesti modeemiksi.

5. Määrittele mobiililaajakaistayhteys Network managerilla operaattorisi mukaan.


Päivitys: Ubuntu 10.04 ja uusin usb-modeswitch

Ubuntu 10.04:n modem-modeswitch ja uusi, automaattisesti taustalla toimiva usb-modeswitch tekevät alempana olevan (alkaen "Vanha versio") ainakin osittain tarpeettomaksi.

Modem-modeswitch on Ubuntussa mukana automaattisesti, ja usb-modeswitch asennettavissa suoraan:
apt-get install usb-modeswitch


Usb-modeswitch löytyy myös Synaptic pakettienhallinnasta, eli asennus onnistuu helposti myös graafisen käyttöliittymän kautta.

Sen, toimiiko usb-modeswitch modeemisi kanssa ilman udev-säännön lisäystä, voit selvittää antamalla komennon...
tail -f /var/log/messages |grep usb-modeswitch

... ja kytkemällä modeemin USB-porttiin.

Jos hetken kuluttua logiin ilmestyy teksti esim. "usb-modeswitch: switching 12d1:1446 (HUAWEI Technology: HUAWEI Mobile)", toimii usb-modeswitch ilman eri komentoa tai udev-sääntöjä.

Modeemit Ubuntu 10.04:ssä

Huawei E1552 (modem-modeswitch)

E1552 toimii ilman usb-modeswitchiä, mutta vaatii udev-rulen toimintatilan vaihtoon. Tässä ohje udev rule:lle E1552:aa varten.

1. Luo tiedosto /etc/udev/rules.d/15-e1552.rules. Helpoimmin tämä käy hakemalla valmis tiedosto Siptunen lataussivulta:

cd /etc/udev/rules.d/
sudo wget http://siptune.net/downloads/15-e1552.rules
cd -


1. b) Voit myös luoda tiedoston editorilla.

Avaa editori sudona /etc:n kirjoitusoikeutta varten:

gksudo gedit /etc/udev/rules.d/15-e1552.rules


Luo sisältö:

# udev-rule for switching modems from storage to modem - anttu - v.100508

SUBSYSTEM=="usb",
RUN+="/lib/udev/modem-modeswitch --vendor 0x12d1 --product 0x1446 --type option-zerocd"


Sulje/tallenna.


2. Lataa uudet udev rulet...

sudo udevadm control --reload-rules


... tai käynnistä tietokone uudelleen.

Nyt yhteys muodostuu E1552:lla tyypillisesti toisella yrityksellä.

Huawei E1762

E1762 vaatii usb-modeswitchin, muttei erillistä udev-rulea. Pelkkä usb-modeswitchin asennus riittää: sudo apt-get install usb-modeswitch.

Nokia CS-15 (eject)

Myös 10.4:ssa CS-15:lle riittää pelkkä eject-komento. Alempana, vanhassa versiossa kuvattu udev-rule toimii sellaisenaan.

Päivitys 27.1.13 vierailijalta Mika A: (Kiitos!)

Eli, jotta cs-15:n saa toimimaan Mint 14:ssä, tulee tehdä seuraavaa:

1. Kommentoi modeemin rivi
/lib/udev/rules.d/40-usb_modeswitch.rules-tiedostosta

  1. Nokia CS-15
  2. ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0610", RUN+="usb_modeswitch
'NaVk'"

2. Lisää rivi /etc/udev/rules.d/-kansioon esim. 25-mokkula.rules-nimiseen
tiedostoon

  1. nokia CS-15
ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0610", RUN+="/usr/bin/eject -s
%N"



Vanha versio


Tee näin:

1. a) Kopioi valmis udev-sääntötiedosto /etc/udev/rules.d -hakemistoon Siptunen lataussivulta:

cd /etc/udev/rules.d/
sudo wget http://siptune.net/downloads/25-mokkulat.rules
cd -
("cd -"= paluu edelliseen hakemistoon)

tai

1. b) Luo tiedosto /etc/udev/rules.d/25-mokkulat.rules itse tällaisella sisällöllä:

 # udev-rules for switching modems from storage mode to modem mode - anttu - v.091216

 # a-link 3gu turbo 
BUS=="usb", SUBSYSTEM=="block", SYSFS{idVendor}=="1e0e", SYSFS{idProduct}=="f000", ACTION=="add", RUN+="/usr/bin/eject -s %N", OPTIONS+="last_rule"
BUS=="usb", SUBSYSTEM=="block", SYSFS{idVendor}=="1e0e", SYSFS{idProduct}=="9200", ACTION=="add", RUN+="/sbin/modprobe -r option", RUN+="/sbin/modprobe -r usbserial", RUN+="/sbin/modprobe usbserial vendor=0x1e0e product=0x9200", RUN+="/sbin/modprobe option", OPTIONS+="last_rule"

 # nokia cs-15
BUS=="usb", SUBSYSTEM=="block", SYSFS{idVendor}=="0421", SYSFS{idProduct}=="0610", ACTION=="add", RUN+="/usr/bin/eject -s %N", OPTIONS+="last_rule"

 # huawei e1762
BUS=="usb", SUBSYSTEM=="block", SYSFS{idVendor}=="12d1", SYSFS{idProduct}=="1446", ACTION=="add", RUN+="/usr/sbin/usb_modeswitch -v 0x12d1 -p 0x1446 -V 0x12d1 -P 0x1003 -m 0x01 -M '55534243123456780000000000000011060000000000000000000000000000'", OPTIONS+="last_rule"

 # siptune lm-75
BUS=="usb", SUBSYSTEM=="block", SYSFS{idVendor}=="05c6", SYSFS{idProduct}=="f000", ACTION=="add", RUN+="/usr/bin/eject -s %N", OPTIONS+="last_rule"
BUS=="usb", SUBSYSTEM=="block", SYSFS{idVendor}=="05c6", SYSFS{idProduct}=="9000", ACTION=="add", RUN+="/sbin/modprobe -r option", RUN+="/sbin/modprobe -r usbserial", RUN+="/sbin/modprobe usbserial vendor=0x05c6 product=0x9000", RUN+="/sbin/modprobe option", OPTIONS+="last_rule"

 # zte mf-636+
BUS=="usb", SUBSYSTEM=="block", SYSFS{idVendor}=="19d2", SYSFS{idProduct}=="2000", ACTION=="add", RUN+="/usr/bin/eject -s %N", OPTIONS+="last_rule"


2. Lataa uudet udev rulet:

sudo udevadm control --reload-rules

(Huom! Vanhemmilla Linuxin tasoilla komento on alaviivalla, tyyliin --reload_rules, tai komento voi olla sudo udevcontrol reload-rules.)


3. Jos käytössä Huawei E1762, asenna myös usb_modeswitch-ohjelma. (Muilla modeemeilla toimii Linuxin eject-komento) Ohjelma ja ohjeet löytyvät osoitteesta:
http://www.draisberghof.de/usb_modeswitch/

Tämän jälkeen kytkettäessä modeemi USB-porttiin tai kytkettäessä virta päälle modeemi valmiiksi USB-portissa järjestelmä tunnistaa modeemin ja automaattisesti kytkee tikun muistitilasta modeemitilaan.

Toiminta: tiedoston säännöt antavat muille modeemeille modeemin tunnistaessaan eject-komennon, paitsi Huawei E1762 vaatii usb_modeswitch-ohjelman ajon. Moodin vaihdon lisäksi 3GU:lle ja LM-75:lle annetaan komennot modeemin ajurien irrotukseen ja uudelleen käyttöönottoon heti, kun modeemi lisätään uudella product ID:llä.

Erillisen scriptin käynnistys ja yhteyden automaattinen muodostus

Esimerkiksi haluttaessa muodostaa yhteys automaattisesti, voidaan vaihtoehtoisesti tehdä modeemin alustuskomennot ja yhteyden käynnistyskomennon (esim. wvdial) sisältävä scriptitiedosto ja käynnistää tämä scripti udev-säännöllä. Tällöin esim. LM-75:n osio olisi muotoa:

 # siptune lm-75
BUS=="usb", SUBSYSTEM=="block", SYSFS{idVendor}=="05c6", SYSFS{idProduct}=="f000", ACTION=="add", RUN+="/usr/bin/eject -s %N", OPTIONS+="last_rule"
BUS=="usb", SUBSYSTEM=="block", SYSFS{idVendor}=="05c6", SYSFS{idProduct}=="9000", ACTION=="add", RUN+="/usr/sbin/lm-init", OPTIONS+="last_rule"


Lisäksi tehdään scriptitiedosto /usr/sbin/lm-init sisällöllä...

#!/bin/bash
sudo modprobe -r option
sudo modprobe -r usbserial
sudo modprobe usbserial vendor=0x05c6 product=0x9000
sudo modprobe option
sleep 10
sudo wvdial


... ja annetaan tiedostolle suoritusoikeudet:

sudo chmod +x /usr/sbin/lm-init


Edellisillä toimilla yhteys muodostuu automaattisesti kytkettäessä USB-modeemi tietokoneeseen tai laitettaessa tietokone päälle. Edellytyksenä tietysti tehty wvdialin käyttöönotto.

Huom! Debian Etchillä modprobe-komennot usbserialille ja optonille eivät jostain syystä testikoneessa (IBM R30) suostuneet toimimaan udev:ssa. Erillisen scriptin käytöllä voidaan myös kiertää tällainen ongelma.

Testaus

Voit todeta muutoksen esimerkiksi komennoilla:
- watch lsusb
- - käynnistä ennen tikun kytkemistä, modeemin tulee näkyviin ja vaihtaa sitten product ID:tä, esim 12d1:1446 -> 12d1:1003
- dmesg |grep -i tty
- - jonkin ajan kuluttua tikun kytkemisestä ttyUSB- tai ttyACM-portit tulevat näkyviin

Kun mokkula/tikku on modeemitilassa, onnistuu yhteydenotto valitulla yhteysohjelmalla. Linuxin erilaisista yhteysohjelmista on tietoa tällä sivulla.

Lisäys: Jos eject ei toimi käytetyssä järjestelmässä, oikea usb_modeswitch-komento LM-75:lle on

usb_modeswitch -v 0x05c6 -p 0xf000 -V 0x05c6 -P 0x9000 -m 0x01 -M "5553424312345678000000000000061b000000020000000000000000000000"

Kysymykset, kommentit ja korjaukset

Lisäkysymykset, kokemukset ja ideat yllä olevista ovat tervetulleita EUM foorumille

Voit myös käyttää Siptune.com:n yhteydenottolomaketta sähköpostipalautteen lähettämiseen.

Kommentit, kysymykset ja uudet kaverit ovat tervetulleita myös Siptunen Facebook-sivuille.













Tämän sivun avustajat: admin ja Laura .
Sivua viimeksi muutettu Sunnuntai, 27. Tammikuuta, 2013 [06:18:30 UTC].


Etsi
:
Kirjautuminen
[ Rekisteröidy | Olen unohtanut salasanani ]
standardi | salattu
Kieli: fi
Pikaviestin