1

Temat: Tworzenie aliasów dla portów szeregowych

korzystając z tej instrukcji
http://eko.one.pl/?p=openwrt-linkidoportowszeregowych
ponieważ mam modemy E398 i E353u-2, które maja identyczne nazwy Vendor i ProdID
to chciałbym je identyfikować po IMEI
czy taka modyfikacja skryptu będzie poprawna

# to jest E398
            if [ "x$IMEI" = "123456789" ]; then
                NEWD="modem_e398_"${DEVPATH##*.}
                rm /dev/$NEWD
                ln -s /dev/$OLDD /dev/$NEWD
            fi

i analogicznie dla E353

2

Odp: Tworzenie aliasów dla portów szeregowych

Cezary, możesz to powyżej sprawdzić?

Czy ewentualnie po nr portu:
[   47.300000] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB0
[   47.310000] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB1
[   47.330000] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB2
[ 4573.430000] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB3
[ 4573.450000] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB4
[ 4573.460000] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB5

PRODUCT=12d1/1506/0
taki sam dla E398 i E353u-2
DEVICENAME=1-1.2
DEVPATH=/devices/platform/ehci-platform/usb1/1-1/1-1.2

3

Odp: Tworzenie aliasów dla portów szeregowych

Źle.
if [ "x$IMEI" = "x123456789" ]; then


Jak już, o ile wcześniej odczytałeś i podstawiłeś imei do zmiennej.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

4

Odp: Tworzenie aliasów dla portów szeregowych

odczytać to tak
root@Gargoyle:~# gcom info -d /dev/ttyUSB1
##### Wireless WAN Modem Configuration #####
Product text:
====

Manufacturer: Huawei Technologies Co., Ltd.
Model: E398
Revision: 11.243.25.01.69
IMEI: 354217041109642

ale to podstawienie do zmiennej? to co z tym zrobić?

5

Odp: Tworzenie aliasów dla portów szeregowych

O=$(gcom info -d $OLDD)
IMEI=$(echo $O | grep IMEI  | cut -f2 -d" ")

Choć oczywiście może być problem, bo możesz trafić na interfejs na którym nie da się danych odczytać.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

6

Odp: Tworzenie aliasów dla portów szeregowych

w które miejsce te dwie nowe linie wstawić
#!/bin/sh
    if [ "$DEVTYPE" = "usb_interface" ] && [ "$ACTION" = "add" ]; then
        for tty in /sys/$DEVPATH/ttyUSB*; do
            [ -d "$tty" ] || continue
            OLDD=${tty##*/}

            # to jest E398
            if [ "x$IMEI" = "x1234567890" ]; then
                NEWD="modem_e398_"${DEVPATH##*.}
                rm /dev/$NEWD
                ln -s /dev/$OLDD /dev/$NEWD
            fi
   
            # to jest E353
            if [ "x$IMEI" = "x1234567890" ]; then
                NEWD="modem_e353_"${DEVPATH##*.}
                rm /dev/$NEWD
                ln -s /dev/$OLDD /dev/$NEWD
            fi

        done
    fi

w obydwu modemach IMEI można odczytać na porcie USB1 (tworzą się 3 dla każdego modemu:USB0; USB1;USB2 dla pierwszego i USB3; USB4; i USB5 dla drugiego)
czyli jeśli włączy się router z dwoma modemami to porty do odczytu IMEI będą odpowiednio USB1 i USB4
czy można zmodyfikować te dwie linie aby odczytywały dane własnie z tych dwóch portów, wtedy na pewno odczytają te numery IMEI

7

Odp: Tworzenie aliasów dla portów szeregowych

Ale skrypt odpala się dla każdego interfejsu osobnp. Najpierw odpali się więc dla USB0, a na nim nie odczytasz tego i masz już problem.

Oczywiście przed tym ifem porównującym imei.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8

Odp: Tworzenie aliasów dla portów szeregowych

czyli w przypadku tych modemów przypisanie IMEI odpada

wynik dmesg | grep -i tty
[    0.000000] Kernel command line:  board=TL-WR841N-v8 console=ttyS0,115200 rootfstype=squashfs,jffs2 noinitrd
[    0.660000] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11) is a 16550A
[    0.670000] console [ttyS0] enabled, bootconsole disabled
[   36.080000] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB0
[   36.090000] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB1
[   36.110000] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB2
[ 1957.870000] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB3
[ 1957.890000] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB4
[ 1957.900000] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB5
Success

różnice w pliku plik.txt tworzonego po podłączeniu modemu wg poradnika:
MODALIAS=usb:v12D1p1506d0000dcEFdsc02dp01ic08isc06ip50
MODALIAS=usb:v12D1p1506d0000dc00dsc00dp00ic08isc06ip50

DEVPATH=/devices/platform/ehci-platform/usb1/1-1/1-1.2/1-1.2:1.6
DEVPATH=/devices/platform/ehci-platform/usb1/1-1/1-1.4/1-1.4:1.6

DEVICENAME=1-1.2:1.6
DEVICENAME=1-1.4:1.6

(górna linia 353, dolna 398)

którą zmienną najlepiej wykorzystać?

9

Odp: Tworzenie aliasów dla portów szeregowych

DEVPATH/DEVICENAME określa tylko złącze w którym siedzi. Jeżeli Ci to wystarczy to na podstawie tego zrób.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

10

Odp: Tworzenie aliasów dla portów szeregowych

Cezary, według poradnika zrobiłem wsio, natomiast nie wpisują mi sie do pliku potrzebne wartości.
to plik.txt

~# cat /tmp/plik.txt
----
CONFIG_cfg02e48a_TYPE=system
USER=root
ACTION=add
klogconloglevel=
zonename=Europe/Warsaw
HOME=/
OLDPWD=/
SEQNUM=1024
CONFIG_cfg02e48a_timezone=CET-1CEST,M3.5.0,M10.5.0/3
CONFIG_ntp_server_LENGTH=4
HOTPLUG_TYPE=usb
CONFIG_ntp_server=0.openwrt.pool.ntp.org 1.openwrt.pool.ntp.org 2.openwrt.pool.ntp.org 3.openwrt.pool.ntp.org
DEVPATH=/devices/pci0000:00/0000:00:10.0/usb2/2-2/2-2:1.0
LOGNAME=root
DEVICENAME=2-2:1.0
TERM=vt102
SUBSYSTEM=usb
CONFIG_ntp_TYPE=timeserver
CONFIG_NUM_SECTIONS=2
PATH=/bin:/sbin:/usr/bin:/usr/sbin
CONFIG_LIST_STATE=ntp_server
MODALIAS=usb:v0403p6001d0600dc00dsc00dp00icFFiscFFipFF
foreground=0
DRIVER=ftdi_sio
SHELL=/bin/sh
TYPE=0/0/0
CONFIG_ntp_server_ITEM1=0.openwrt.pool.ntp.org
CONFIG_ntp_server_ITEM2=1.openwrt.pool.ntp.org
CONFIG_ntp_server_ITEM3=2.openwrt.pool.ntp.org
INTERFACE=255/255/255
PRODUCT=403/6001/600
CONFIG_ntp_server_ITEM4=3.openwrt.pool.ntp.org
CONFIG_cfg02e48a_zonename=Europe/Warsaw
CONFIG_SECTION=ntp
buffersize=
PWD=/etc/modules.d
DEVTYPE=usb_interface
CONFIG_cfg02e48a_cronloglevel=8
CONFIG_cfg02e48a_hostname=TipSter
CONFIG_cfg02e48a_conloglevel=8
CONFIG_SECTIONS=cfg02e48a ntp
DEVICE=/proc/bus/usb/002/003

  a to część  dmesg

[    2.192810] ata1: PATA max UDMA/133 cmd 0x1f0 ctl 0x3f6 bmdma 0xde00 irq 14
[    2.213769] ata2: PATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xde08 irq 15
[    2.235675] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.255437] ehci_hcd 0000:00:10.4: EHCI Host Controller
[    2.271237] ehci_hcd 0000:00:10.4: new USB bus registered, assigned bus number 1
[    2.293594] ehci_hcd 0000:00:10.4: irq 10, io mem 0xf6021000
[    2.330054] ehci_hcd 0000:00:10.4: USB 2.0 started, EHCI 1.00
[    2.347822] hub 1-0:1.0: USB hub found
[    2.359165] hub 1-0:1.0: 8 ports detected
[    2.371467] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    2.390432] uhci_hcd: USB Universal Host Controller Interface driver
[    2.409677] uhci_hcd 0000:00:10.0: UHCI Host Controller
[    2.425448] uhci_hcd 0000:00:10.0: new USB bus registered, assigned bus number 2
[    2.447780] uhci_hcd 0000:00:10.0: irq 11, io base 0x0000df00
[    2.465708] ata1.00: CFA: Sony NCFD4G, 20071016, max UDMA/66
[    2.482767] ata1.00: 7831152 sectors, multi 0: LBA
[    2.497478] ata1.00: limited to UDMA/33 due to 40-wire cable
[    2.514850] hub 2-0:1.0: USB hub found
[    2.526188] hub 2-0:1.0: 2 ports detected
[    2.538424] uhci_hcd 0000:00:10.1: UHCI Host Controller
[    2.554204] uhci_hcd 0000:00:10.1: new USB bus registered, assigned bus number 3
[    2.576530] uhci_hcd 0000:00:10.1: irq 11, io base 0x0000e000
[    2.594465] hub 3-0:1.0: USB hub found
[    2.605801] hub 3-0:1.0: 2 ports detected
[    2.618031] uhci_hcd 0000:00:10.2: UHCI Host Controller
[    2.633809] uhci_hcd 0000:00:10.2: new USB bus registered, assigned bus number 4
[    2.656113] uhci_hcd 0000:00:10.2: irq 10, io base 0x0000e100
[    2.673919] ata1.00: configured for UDMA/33
[    2.686785] scsi 0:0:0:0: Direct-Access     ATA      Sony NCFD4G      2007 PQ: 0 ANSI: 5
[    2.711487] hub 4-0:1.0: USB hub found
[    2.722828] hub 4-0:1.0: 2 ports detected
[    2.735080] uhci_hcd 0000:00:10.3: UHCI Host Controller
[    2.750838] uhci_hcd 0000:00:10.3: new USB bus registered, assigned bus number 5
[    2.773171] uhci_hcd 0000:00:10.3: irq 10, io base 0x0000e200
[    2.791223] sd 0:0:0:0: [sda] 7831152 512-byte logical blocks: (4.00 GB/3.73 GiB)
[    2.814262] sd 0:0:0:0: [sda] Write Protect is off
[    2.828728] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.828932] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[    2.856746] hub 5-0:1.0: USB hub found
[    2.868089] hub 5-0:1.0: 2 ports detected
[    2.880971] Initializing USB Mass Storage driver...
[    2.895983]  sda: sda1 sda2
[    2.904656] usbcore: registered new interface driver usb-storage
[    2.922764] USB Mass Storage support registered.
[    2.937300] sd 0:0:0:0: [sda] Attached SCSI removable disk
[    2.954400] i8042: PNP: No PS/2 controller found. Probing ports directly.
[    2.986807] serio: i8042 KBD port at 0x60,0x64 irq 1
[    3.001778] serio: i8042 AUX port at 0x60,0x64 irq 12
[    3.017387] mousedev: PS/2 mouse device common for all mice
[    3.034566] rtc_cmos 00:05: RTC can wake from S4
[    3.048837] rtc_cmos 00:05: rtc core: registered rtc_cmos as rtc0
[    3.067240] rtc0: alarms up to one year, y3k, 242 bytes nvram
[    3.085130] cpuidle: using governor ladder
[    3.097599] cpuidle: using governor menu
[    3.109790] TCP cubic registered
[    3.119553] NET: Registered protocol family 17
[    3.133041] Bridge firewalling registered
[    3.145161] 8021q: 802.1Q VLAN Support v1.8
[    3.157830] Using IPI Shortcut mode
[    3.169017] rtc_cmos 00:05: setting system clock to 2013-04-04 20:23:04 UTC (1365106984)
[    3.193884] usb 1-6: new high-speed USB device number 4 using ehci_hcd
[    3.216388] EXT4-fs (sda2): mounted filesystem without journal. Opts: (null)
[    3.237673] VFS: Mounted root (ext4 filesystem) readonly on device 8:2.
[    3.257639] Freeing unused kernel memory: 316k freed
[    3.378898] scsi4 : usb-storage 1-6:1.2
[    3.392502] scsi5 : usb-storage 1-6:1.3
[    3.680102] usb 2-1: new low-speed USB device number 2 using uhci_hcd
[    4.200066] usb 2-2: new full-speed USB device number 3 using uhci_hcd
[    4.393469] scsi 4:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
[    4.421477] scsi 5:0:0:0: Direct-Access     HUAWEI   MMC Storage      2.31 PQ: 0 ANSI: 2
[    4.450442] sd 5:0:0:0: [sdb] 967680 512-byte logical blocks: (495 MB/472 MiB)
[    4.474183] sd 5:0:0:0: [sdb] Write Protect is off
[    4.488700] sd 5:0:0:0: [sdb] Mode Sense: 0f 0e 00 00
[    4.490077] sd 5:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    4.534587]  sdb:
[    4.553820] sd 5:0:0:0: [sdb] Attached SCSI removable disk
[    6.682202] EXT4-fs (sda2): re-mounted. Opts: (null)
[    6.710516] EXT4-fs (sda1): mounted filesystem without journal. Opts: (null)
[    6.956509] natsemi dp8381x driver, version 2.1, Sept 11, 2006
[    6.956515]   originally by Donald Becker <becker@scyld.com>
[    6.956520]   2.4.x kernel port by Jeff Garzik, Tjeerd Mulder
[    7.018049] PPP generic driver version 2.4.2
[    7.044814] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI
[    7.066060] e1000: Copyright (c) 1999-2006 Intel Corporation.
[    7.097117] ip_tables: (C) 2000-2006 Netfilter Core Team
[    7.158776] NET: Registered protocol family 24
[    7.179487] nf_conntrack version 0.5.0 (14127 buckets, 56508 max)
[    7.273522] 8139too: 8139too Fast Ethernet driver 0.9.28
[    7.295523] e100: Intel(R) PRO/100 Network Driver, 3.5.24-k2-NAPI
[    7.313911] e100: Copyright(c) 1999-2006 Intel Corporation
[    7.339437] ne2k-pci.c:v1.03 9/22/2003 D. Becker/P. Gortmaker
[    7.362838] pcnet32: pcnet32.c:v1.35 21.Apr.2008 tsbogend@alpha.franken.de
[    7.395635] sis900.c: v1.08.10 Apr. 2 2006
[    7.425146] via_rhine: v1.10-LK1.5.0 2010-10-09 Written by Donald Becker
[    7.445366] via_rhine: Broken BIOS detected, avoid_D3 enabled
[    7.467051] via-rhine 0000:00:12.0: eth0: VIA Rhine II at 0xf6020000, 00:e0:c5:5f:41:11, IRQ 11
[    7.494032] via-rhine 0000:00:12.0: eth0: MII PHY found at address 1, status 0x786d advertising 05e1 Link 45e1
[    7.541354] usbcore: registered new interface driver usbserial
[    7.558983] USB Serial support registered for generic
[    7.574317] usbcore: registered new interface driver usbserial_generic
[    7.593968] usbserial: USB Serial Driver core
[    7.612267] usbcore: registered new interface driver ums-alauda
[    7.634051] usbcore: registered new interface driver ums-cypress
[    7.656783] usbcore: registered new interface driver ums-datafab
[    7.679141] usbcore: registered new interface driver ums-freecom
[    7.701777] usbcore: registered new interface driver ums-isd200
[    7.724034] usbcore: registered new interface driver ums-jumpshot
[    7.746658] usbcore: registered new interface driver ums-karma
[    7.768957] usbcore: registered new interface driver ums-sddr09
[    7.791470] usbcore: registered new interface driver ums-sddr55
[    7.813927] usbcore: registered new interface driver ums-usbat
[    7.844464] USB Serial support registered for FTDI USB Serial Device
[    7.864109] ftdi_sio 2-2:1.0: FTDI USB Serial Device converter detected
[    7.884096] usb 2-2: Detected FT232RL
[    7.895172] usb 2-2: Number of endpoints 2
[    7.907549] usb 2-2: Endpoint 1 MaxPacketSize 64
[    7.921484] usb 2-2: Endpoint 2 MaxPacketSize 64
[    7.935421] usb 2-2: Setting MaxPacketSize 64
[    7.951162] usb 2-2: FTDI USB Serial Device converter now attached to ttyUSB0
[    7.972707] usbcore: registered new interface driver ftdi_sio
[    7.990041] ftdi_sio: v1.6.0:USB FTDI Serial Converters Driver
[    8.014261] USB Serial support registered for GSM modem (1-port)
[    8.032618] option 1-6:1.0: GSM modem (1-port) converter detected
[    8.051218] usb 1-6: GSM modem (1-port) converter now attached to ttyUSB1
[    8.071693] option 1-6:1.1: GSM modem (1-port) converter detected
[    8.090148] usb 1-6: GSM modem (1-port) converter now attached to ttyUSB2
[    8.110801] usbcore: registered new interface driver option
[    8.127589] option: v0.7.2:USB Driver for GSM modems
[    8.163515] input: USB USB Keykoard as /devices/pci0000:00/0000:00:10.0/usb2/2-1/2-1:1.0/input/input2
[    8.191426] generic-usb 0003:1A2C:0023.0001: input: USB HID v1.10 Keyboard [USB USB Keykoard] on usb-0000:00:10.0-1/input0
[   18.231970] generic-usb 0003:1A2C:0023.0002: usb_submit_urb(ctrl) failed: -1
[   18.241939] generic-usb 0003:1A2C:0023.0002: timeout initializing reports
[   18.274029] input: USB USB Keykoard as /devices/pci0000:00/0000:00:10.0/usb2/2-1/2-1:1.1/input/input3
[   18.301888] generic-usb 0003:1A2C:0023.0002: input: USB HID v1.10 Device [USB USB Keykoard] on usb-0000:00:10.0-1/input1
[   18.334648] usbcore: registered new interface driver usbhid
[   18.351449] usbhid: USB HID core driver
[   19.683538] device eth0 entered promiscuous mode
[   19.699498] br-lan: port 1(eth0) entered forwarding state
[   19.715809] br-lan: port 1(eth0) entered forwarding state
[   21.710076] br-lan: port 1(eth0) entered forwarding state

jak widać jest więcej niż jedno urządzenie usb podpięte, a w pliku  plik.txt nie ma wpisów....coś nie tak zrobiłem?

11

Odp: Tworzenie aliasów dla portów szeregowych

Pewnie zrobiłes env > plik.txt zamiast env >> plik.txt

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

12

Odp: Tworzenie aliasów dla portów szeregowych

nie, zrobiłem dokładnie tak:

cat /etc/hotplug.d/usb/10-serial
#!/bin/sh
echo "----" > /tmp/plik.txt
env >> /tmp/plik.txt

13

Odp: Tworzenie aliasów dla portów szeregowych

No właśnie nie. echo "----" > /tmp/plik.txt to skasuje zawartość pliku, więc jeżeli chcesz łapać informacje ze wszystkich interfejsów to zamień to na echo "----" >> /tmp/plik.txt

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

14

Odp: Tworzenie aliasów dla portów szeregowych

ok,działa, ale mam dwa urządzenia po ftdi i mają taki sam "PRODUCT",da się odczytać nr seryjny, bo w plik.txt nie ma takich opcji?

15

Odp: Tworzenie aliasów dla portów szeregowych

cat /proc/bus/usb/devices zobacz czy się przedstawiają numerem seryjnym.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

16

Odp: Tworzenie aliasów dla portów szeregowych

tak , przedstawiają sie :

T:  Bus=02 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  3 Spd=12   MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0403 ProdID=6001 Rev= 6.00
S:  Manufacturer=MERA-PROJEKT
S:  Product=USB <-> 1Wire (MP00202)
S:  SerialNumber=MPVYIUVZ
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio
E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

T:  Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12   MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0403 ProdID=6001 Rev= 6.00
S:  Manufacturer=FTDI
S:  Product=FT232R USB UART
S:  SerialNumber=A400EBB2
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 90mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio
E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

hmm, znaczy skrypt trzeba zmodyfikować..

17

Odp: Tworzenie aliasów dla portów szeregowych

Pogrzeb sobie teraz po /sys, znajdź miejsce gdzie te seriale są i spróbuj to powiązać z danymi jakie z hotpluga spływają.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

18

Odp: Tworzenie aliasów dla portów szeregowych

znalazłem to w /sys/bus/usb/devices/2-2/serial, drugi jest w /sys/bus/usb/devices/4-1/serial, jak to powiązać?

19

Odp: Tworzenie aliasów dla portów szeregowych

DEVICENAME=2-2:1.0

Jako identyfikator masz. Więc sprawdzasz /sys/bus/usb/devices/ + cześć od DEVICENAME + /serial

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

20

Odp: Tworzenie aliasów dla portów szeregowych

Na co dzień stosuję dwa modemy ZTE MF669 i ZTE MF821. W obydwu mam różne karty sim. Pierwszego używam podczas nieobecności w domu z wykupioną usługą public ip poprzez apn pro.plusgsm.pl. Drugiego z wiekszym limitem danych (prezent od firmy) poprzez LTE, kiedy wracam do domu. Interesuje mnie sytuacja samoczynnego dostosowywania się ruterka wraz z odpowiednim APN w zależności od podłączonego urządzenia. Czy opisany w artykule na ww. temat sposób, nadaje się do moich wymagań? Jestem już po załadowaniu skryptu do pliku 10-serial, a wygląda to tak:
#!/bin/sh
    if [ "$DEVTYPE" = "usb_interface" ] && [ "$ACTION" = "add" ]; then
        for tty in /sys/$DEVPATH/ttyUSB2; do
            [ -d "$tty" ] || continue
            OLDD=${tty##*/}
                                   
            # to jest MF 669
            if [ "x$PRODUCT" = "19d2/17/0" ]; then
                NEWD="modem_mf669_"${DEVPATH##*.}
                rm /dev/$NEWD
                ln -s /dev/$OLDD /dev/$NEWD
            fi
                                                                     
            # to jest MF 821
            if [ "x$PRODUCT" = "19d2/167/0" ]; then
                NEWD="modem_mf821_"${DEVPATH##*.}
                rm /dev/$NEWD
                ln -s /dev/$OLDD /dev/$NEWD
            fi
                                                                                                                                                                       
         done
     fi

Nadmienię, że oba urządzenia mogą pracować na tym samym porcie tty2. Kombinuję, ale nie udaje mi się zmusić do samoczynnego i automatyczneo wyboru tty2, a co dopiero aby wybierały się odpowiednie apn'y.

Proszę o pomoc

21

Odp: Tworzenie aliasów dla portów szeregowych

Nie rozumiem po co Ci to. Wkładasz jeden modem masz /dev/ttyUSB2 i z niego korzystasz. Wyjmujesz pierwszy, wkładasz drugi i masz. APN i tak musisz zmienić. Chyba że chcesz inaczej?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

22 (edytowany przez synkopa 2013-11-29 18:37:01)

Odp: Tworzenie aliasów dla portów szeregowych

Przeczytałem wcześniej gdzieś, że MF669 powinien chodzić na /dev/ttyUSB1 ale potem się dowiedziałem, że również będzie działał dobrze na USB2. Więc nie tu jest obecnie problem. Teraz chciałbym jedynie aby APN się automatycznie zmieniał w zależności od włożonego modemu. Da się to zrobić skryptem, jak sądzę. Pomożesz? Wciąż raczkuję w tym temacie.
Dodam, że apn musi się zmieniać, ponieważ przy LTE wymagany apn to internet, a usługa dynamicznego ip pracuje tlo na pro.plusgsm.pl.

23

Odp: Tworzenie aliasów dla portów szeregowych

Dokładnie tym co wyżej. Jeżeli wykrywa modemy, to dla każdego zrób sobie

     uci set network.wan.pincode=1234
     uci set network.wan.apn=internet
     uci commit network

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

24

Odp: Tworzenie aliasów dla portów szeregowych

Taka jest całkowita zawartość pliku 10-serial. Nie wiem czy dobrze to zrbiłem, bo nie działa tak jak chciałem.

#!/bin/sh
    if [ "$DEVTYPE" = "usb_interface" ] && [ "$ACTION" = "add" ]; then
        for tty in /sys/$DEVPATH/ttyUSB2; do
            [ -d "$tty" ] || continue
            OLDD=${tty##*/}
                                   
            # to jest MF 669
            if [ "x$PRODUCT" = "19d2/17/0" ]; then
                NEWD="modem_mf669_"${DEVPATH##*.}
                rm /dev/$NEWD
                ln -s /dev/$OLDD /dev/$NEWD
                uci set network.wan.pincode=1234
                uci set network.wan.apn=pro.plusgsm.pl
                uci commit network
            fi
                                                                     
            # to jest MF 821
            if [ "x$PRODUCT" = "19d2/167/0" ]; then
                NEWD="modem_mf821_"${DEVPATH##*.}
                rm /dev/$NEWD
                ln -s /dev/$OLDD /dev/$NEWD
                uci set network.wan.pincode=1234
                uci set network.wan.apn=internet
                uci commit network
            fi
                                                                                                                                                                       
         done
     fi

25

Odp: Tworzenie aliasów dla portów szeregowych

NEWD="modem_mf669_"${DEVPATH##*.}
                rm /dev/$NEWD
                ln -s /dev/$OLDD /dev/$NEWD

                NEWD="modem_mf821_"${DEVPATH##*.}
                rm /dev/$NEWD
                ln -s /dev/$OLDD /dev/$NEWD
to coś w ogóle nie jest potrzebne

for tty in /sys/$DEVPATH/ttyUSB*; do

Tu ma  być ta gwiazdka, nie 2.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.