Ufon jako jeden z alternativních operátorů nabízí svým klientům možnost využívat mobilního internetu. Je potřeba nějakým způsobem získat modem – buď si ho zakoupit nebo podepsat smlouvu na 2 roky. Toto je otázka pro každého zvlášť a nebudu se jí zde zabývat. Co je ale otázkou zajímavější je jeho podpora v Linuxu.
Popisovaný případ se bude týkat modemu Celot K-300. Jeho podobnost případná funkčnost s ostatními modemy od tohoto poskytovatele není zaručena. Modem je standartně dodávám bez instalačních médií, protože instalátor pro Windows je přítomen přímo na modemu. Celá věda funguje tak, že modem se po zasunutí připojí jako CD-ROM mechanika, ze které se pak nainstaluje ovladač a k němu příslušný ovládací software. Pomocí ovládacího software je pak možné modem přepnout z CD-ROM mechaniky do módu CDMA modemu.
V Linuxu pravděpodobně originální software od výrobce nebude fungovat. Přepnutí modemu z paměťového módu do módu CDMA modemu je v Linuxu řešeno pomocí software usb_modeswitch. Usb_modeswitch by měl být běžnou součástí systému. Případně ho lze nainstalovat následujícím postupem.
$ sudo apt-get install usb-modeswitch
Druhým obslužným softwarem potřebným pro vlastní komunikaci s modemem je ppp. Ten je i se sadou dalších utilit obsažen v balíku ppp (Point-to-Point Protocol).
$ sudo apt-get install ppp
Po připojení modemu by pak v syslogu měl být vidět výpis velmi podobný následujícímu.
Oct 8 18:02:16 martin kernel: [ 1704.043349] usb 3-2: new full-speed USB device number 11 using xhci_hcd Oct 8 18:02:16 martin kernel: [ 1704.060911] usb 3-2: New USB device found, idVendor=05c6, idProduct=1000 Oct 8 18:02:16 martin kernel: [ 1704.060916] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Oct 8 18:02:16 martin kernel: [ 1704.060919] usb 3-2: Product: USB MMC Storage Oct 8 18:02:16 martin kernel: [ 1704.060921] usb 3-2: Manufacturer: CELOT Corporation Oct 8 18:02:16 martin kernel: [ 1704.060923] usb 3-2: SerialNumber: 000000000002 Oct 8 18:02:16 martin kernel: [ 1704.061493] usb-storage 3-2:1.0: USB Mass Storage device detected Oct 8 18:02:16 martin mtp-probe: checking bus 3, device 11: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-2" Oct 8 18:02:16 martin mtp-probe: bus: 3, device: 11 was not an MTP device Oct 8 18:02:16 martin kernel: [ 1704.063738] scsi12 : usb-storage 3-2:1.0 Oct 8 18:02:17 martin kernel: [ 1705.065944] scsi 12:0:0:0: CD-ROM CELOT CD-ROM 1.00 PQ: 0 ANSI: 2 Oct 8 18:02:17 martin kernel: [ 1705.072077] sr0: scsi3-mmc drive: 0x/0x caddy Oct 8 18:02:17 martin kernel: [ 1705.072300] sr 12:0:0:0: Attached scsi CD-ROM sr0 Oct 8 18:02:17 martin kernel: [ 1705.072642] sr 12:0:0:0: Attached scsi generic sg3 type 5 Oct 8 18:02:17 martin usb_modeswitch: switch device 05c6:1000 on 003/011 Oct 8 18:02:17 martin kernel: [ 1705.114150] usb 3-2: USB disconnect, device number 11 Oct 8 18:02:18 martin kernel: [ 1706.352934] usb 3-2: new full-speed USB device number 12 using xhci_hcd Oct 8 18:02:19 martin kernel: [ 1706.370061] usb 3-2: New USB device found, idVendor=211f, idProduct=6801 Oct 8 18:02:19 martin kernel: [ 1706.370066] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 Oct 8 18:02:19 martin kernel: [ 1706.370069] usb 3-2: Product: CELOT CDMA Products Oct 8 18:02:19 martin kernel: [ 1706.370071] usb 3-2: Manufacturer: CELOT Corporation Oct 8 18:02:19 martin kernel: [ 1706.370796] option 3-2:1.0: GSM modem (1-port) converter detected Oct 8 18:02:19 martin kernel: [ 1706.370955] usb 3-2: GSM modem (1-port) converter now attached to ttyUSB0 Oct 8 18:02:19 martin kernel: [ 1706.371221] option 3-2:1.1: GSM modem (1-port) converter detected Oct 8 18:02:19 martin kernel: [ 1706.371335] usb 3-2: GSM modem (1-port) converter now attached to ttyUSB1 Oct 8 18:02:19 martin kernel: [ 1706.371564] option 3-2:1.2: GSM modem (1-port) converter detected Oct 8 18:02:19 martin kernel: [ 1706.371671] usb 3-2: GSM modem (1-port) converter now attached to ttyUSB2 Oct 8 18:02:19 martin kernel: [ 1706.371733] usb-storage 3-2:1.3: USB Mass Storage device detected Oct 8 18:02:19 martin kernel: [ 1706.371908] scsi13 : usb-storage 3-2:1.3 Oct 8 18:02:19 martin mtp-probe: checking bus 3, device 12: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-2" Oct 8 18:02:19 martin mtp-probe: bus: 3, device: 12 was not an MTP device Oct 8 18:02:19 martin ModemManager[888]: <warn> (ttyUSB1): port attributes not fully set Oct 8 18:02:19 martin ModemManager[888]: <warn> (ttyUSB2): port attributes not fully set Oct 8 18:02:19 martin ModemManager[888]: <warn> (ttyUSB0): port attributes not fully set Oct 8 18:02:19 martin usb_modeswitch: switched to 211f:ffffffff on 003/011 Oct 8 18:02:20 martin kernel: [ 1707.371713] scsi 13:0:0:0: CD-ROM CELOT CD-ROM 1.00 PQ: 0 ANSI: 2 Oct 8 18:02:20 martin kernel: [ 1707.375105] sr0: scsi3-mmc drive: 0x/0x caddy Oct 8 18:02:20 martin kernel: [ 1707.375299] sr 13:0:0:0: Attached scsi CD-ROM sr0 Oct 8 18:02:20 martin kernel: [ 1707.375395] sr 13:0:0:0: Attached scsi generic sg3 type 5 Oct 8 18:02:20 martin kernel: [ 1707.472740] sr0: CDROM (ioctl) error, command: Xpwrite, Read disk info 51 00 00 00 00 00 00 00 02 00 Oct 8 18:02:20 martin kernel: [ 1707.472754] sr: Sense Key : Hardware Error [current] Oct 8 18:02:20 martin kernel: [ 1707.472758] sr: Add. Sense: No additional sense information Oct 8 18:02:20 martin usb_modeswitch[4253]: usb_modeswitch: switched to 211f:6801 on 3/12 Oct 8 18:02:21 martin usb_modeswitch[4253]: usb_modeswitch: add device ID 211f:6801 to driver option Oct 8 18:02:21 martin usb_modeswitch[4253]: usb_modeswitch: please report the device ID to the Linux USB developers!
Z výpisu je vidět, že modem se skutečně nejdříve detekoval jako CD-ROM mechanika a až poté jako GSM modem. Z výpisu je také vidět, že selhal přístup na „disk“, modem nicméně funguje správně a pravděpodobně to nebude představovat problém ani v průběhu používání.
Pokud se navíc nahrál i ovladač, je možné pokračovat k připojení se k internetu přes tento modem. Kontrolní výpis nahraného ovladače.
$ lsmod | grep ppdev ppdev 17671 0 parport 42348 3 lp,ppdev,parport_pc
Nyní už přichází na řadu vlastní připojení se. Modem v systému vytvoří tři zařízení, /dev/ttyUSB0, /dev/ttyUSB1, /dev/ttyUSB2. První z nich slouží pro internetovou komunikaci. Druhé zařízení v pořadí slouží k přenosu stavových informací o modemu – síla a kvalita signálu a podobná data.
$ pppd /dev/ttyUSB0 user ufon password ufon updetach defaultroute usepeerdns connect "/usr/sbin/chat ABORT BUSY ABORT 'NO CARRIER' '' ATZ OK ATD#777 CONNECT" Serial connection established. Using interface ppp0 Connect: ppp0 <--> /dev/ttyUSB0 CHAP authentication succeeded CHAP authentication succeeded local IP address 78.136.191.214 remote IP address 172.18.55.1 primary DNS address 78.136.128.4 secondary DNS address 78.136.128.12
Po úspěšném provedení posledního příkazu se v systému vytvoří nový virtuální síťový port, přes který se bude možné připojit do internetu.