Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Foxconn T99W175 also known as Dell DW5930e #55

Open
4IceG opened this issue Dec 28, 2023 · 72 comments
Open

Add support for Foxconn T99W175 also known as Dell DW5930e #55

4IceG opened this issue Dec 28, 2023 · 72 comments

Comments

@4IceG
Copy link
Owner

4IceG commented Dec 28, 2023

Would you like to add support for Foxconn T99W175 also known as Dell DW5930e?
Device connected to board with PCI MHI and AT port available at /dev/wwan0at0, MBIM at /dev/wwan0mbim0 and QCDM at /dev/wwan0qcdm0

AT Commands available here:
https://www.codico.com/media/productattach/m/v/mv31_w_atc_v00058_2111538_1.pdf

by now only this info are shown
image

Originally posted by @riccardoferti in #28 (comment)

@4IceG
Copy link
Owner Author

4IceG commented Dec 28, 2023

Hi @riccardoferti ,

I moved your post to a new thread. We can try to add support for this modem.

First, show the output of the commands:

cat /sys/kernel/debug/usb/devices
sms_tool -d /dev/wwan0at0 at "at^ca_info?"
sms_tool -d /dev/wwan0at0 at "at^debug?"

@riccardoferti
Copy link

riccardoferti commented Dec 28, 2023

@4IceG

cat /sys/kernel/debug/usb/devices

No USB devices available, but:

cat /sys/kernel/debug/mhi/mhi0/devices

mhi0: type: Controller dev_wake: 0
LOOPBACK: type: Transfer dev_wake: 0 channels: 0(UL)/1(DL)
DIAG: type: Transfer dev_wake: 0 channels: 4(UL)/5(DL)
MBIM: type: Transfer dev_wake: 0 channels: 12(UL)/13(DL)
DUN: type: Transfer dev_wake: 0 channels: 32(UL)/33(DL)
IP_HW0_MBIM: type: Transfer dev_wake: 0 channels: 100(UL)/101(DL)

sms_tool -d /dev/wwan0at0 at "at^ca_info?"

LTE serving information :
PCC info: Band is LTE_B3, Band_width is 20.0 MHz
SCC1 info: Band is LTE_B20, Band_width is 10.0 MHz
SCC2 info: Band is LTE_B7, Band_width is 15.0 MHz
PCC info: Band is NR5G_N78, Band_width is 80.0 MHz

sms_tool -d /dev/wwan0at0 at "at^debug?"

RAT:LTE+NR
mcc:222,mnc:10
lte_cell_id:19403297
lte_tac:43083
lte_tx_pwr:NA
lte_ant_rsrp:rx_diversity:3 (-94.1dBm,-103.5dBm,NA,NA)
pcell: lte_band:3 lte_band_width:20.0MHz
channel:1850 pci:389
lte_rsrp:-93.0dBm,rsrq:-12.7dB
lte_rssi:-55.9dBm,lte_snr:1.0dB
scell: lte_band:20 lte_band_width:10.0MHz
channel:6400 pci:230
lte_rsrp:-84.2dBm,rsrq:-11.9dB
lte_rssi:-64.6dBm,lte_snr:NA
scell: lte_band:7 lte_band_width:15.0MHz
channel:3025 pci:53
lte_rsrp:-97.1dBm,rsrq:-11.6dB
lte_rssi:-77.5dBm,lte_snr:NA
scell: lte_band:1 lte_band_width:15.0MHz
channel:525 pci:168
lte_rsrp:-93.2dBm,rsrq:-12.0dB
lte_rssi:-73.4dBm,lte_snr:NA

nr_band:n78
nr_band_width:80.0MHz
nr_channel:643296
nr_pci:736
nr_rsrp:-98dBm rx_diversity: 15 (-110.1dBm,-98.0dBm,-103.9dBm,-103.8dBm)
nr_rsrq:-11dB
nr_snr:21.0dB

@4IceG
Copy link
Owner Author

4IceG commented Dec 29, 2023

@obsy Cezary masz moze pomysl jak zidentyfikowac w systemie takie modemy, aby je potem przypisac do skryptow?

Same wyniki tez sa ciekawe, dwa pasma glowne.. 5G komplikuje znow skrypty.

@obsy
Copy link

obsy commented Dec 29, 2023

Kod nie jest przystosowany do innych urządzeń niż usb. Albo robisz nowe obejście tak jak zrobiłeś dla np. hilinka albo trzeba sporo zmodyfikować główny kod żeby wykrywał też urządzenia pci.
Przydał by się bezpośredni dostęp do takiego modemu.

@obsy
Copy link

obsy commented Dec 29, 2023

@riccardoferti

Could you show also

ls -al /dev/* 

@riccardoferti
Copy link

@riccardoferti

Could you show also

ls -al /dev/* 
crw-------    1 root     root        5,   1 Dec 29 00:42 /dev/console
crw-------    1 root     root       10, 125 Dec 29 00:42 /dev/cpu_dma_latency
crw-------    1 root     root       29,   0 Dec 29 00:42 /dev/fb0
lrwxrwxrwx    1 root     root            13 Dec 29 00:42 /dev/fd -> /proc/self/fd
crw-rw-rw-    1 root     root        1,   7 Dec 29 00:42 /dev/full
crw-------    1 root     root       10, 228 Dec 29 00:42 /dev/hpet
crw-------    1 root     root       10, 183 Dec 29 00:42 /dev/hwrng
crw-------    1 root     root       89,   0 Dec 29 00:42 /dev/i2c-0
crw-------    1 root     root       89,   1 Dec 29 00:42 /dev/i2c-1
crw-------    1 root     root       89,   2 Dec 29 00:42 /dev/i2c-2
crw-------    1 root     root       89,   3 Dec 29 00:42 /dev/i2c-3
crw-------    1 root     root       89,   4 Dec 29 00:42 /dev/i2c-4
crw-------    1 root     root       89,   5 Dec 29 00:42 /dev/i2c-5
crw-------    1 root     root        1,  11 Dec 29 00:42 /dev/kmsg
srw-rw-rw-    1 root     root             0 Dec 29 00:42 /dev/log
crw-------    1 root     root       10, 237 Dec 29 00:42 /dev/loop-control
brw-------    1 root     root        7,   0 Dec 29 00:42 /dev/loop0
brw-------    1 root     root        7,   1 Dec 29 00:42 /dev/loop1
brw-------    1 root     root        7,   2 Dec 29 00:42 /dev/loop2
brw-------    1 root     root        7,   3 Dec 29 00:42 /dev/loop3
brw-------    1 root     root        7,   4 Dec 29 00:42 /dev/loop4
brw-------    1 root     root        7,   5 Dec 29 00:42 /dev/loop5
brw-------    1 root     root        7,   6 Dec 29 00:42 /dev/loop6
brw-------    1 root     root        7,   7 Dec 29 00:42 /dev/loop7
crw-rw-rw-    1 root     root        1,   3 Dec 29 00:42 /dev/null
crw-------    1 root     root       10, 144 Dec 29 00:42 /dev/nvram
crw-------    1 root     root        1,   4 Dec 29 00:42 /dev/port
crw-------    1 root     root      108,   0 Dec 29 00:42 /dev/ppp
crw-rw-rw-    1 root     root        5,   2 Dec 29 09:34 /dev/ptmx
crw-------    1 root     root      249,   0 Dec 29 00:42 /dev/ptp0
crw-rw-rw-    1 root     root        1,   8 Dec 29 00:42 /dev/random
crw-------    1 root     root      251,   0 Dec 29 00:42 /dev/rtc0
brw-------    1 root     root        8,   0 Dec 29 00:42 /dev/sda
brw-------    1 root     root        8,   1 Dec 29 00:42 /dev/sda1
brw-------    1 root     root      259,   0 Dec 29 00:42 /dev/sda128
brw-------    1 root     root        8,   2 Dec 29 00:42 /dev/sda2
brw-------    1 root     root        8,  16 Dec 29 00:42 /dev/sdb
brw-------    1 root     root        8,  17 Dec 29 00:42 /dev/sdb1
brw-------    1 root     root        8,  18 Dec 29 00:42 /dev/sdb2
brw-------    1 root     root        8,  19 Dec 29 00:42 /dev/sdb3
brw-------    1 root     root        8,  20 Dec 29 00:42 /dev/sdb4
brw-------    1 root     root        8,  21 Dec 29 00:42 /dev/sdb5
lrwxrwxrwx    1 root     root             8 Dec 29 00:42 /dev/shm -> /tmp/shm
lrwxrwxrwx    1 root     root            15 Dec 29 00:42 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx    1 root     root            15 Dec 29 00:42 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx    1 root     root            15 Dec 29 00:42 /dev/stdout -> /proc/self/fd/1
crw-rw-rw-    1 root     root        5,   0 Dec 29 00:42 /dev/tty
crw-rw----    1 root     dialout     4,   0 Dec 29 00:42 /dev/tty0
crw-rw----    1 root     dialout     4,   1 Dec 29 00:43 /dev/tty1
crw-rw----    1 root     dialout     4,  10 Dec 29 00:42 /dev/tty10
crw-rw----    1 root     dialout     4,  11 Dec 29 00:42 /dev/tty11
crw-rw----    1 root     dialout     4,  12 Dec 29 00:42 /dev/tty12
crw-rw----    1 root     dialout     4,  13 Dec 29 00:42 /dev/tty13
crw-rw----    1 root     dialout     4,  14 Dec 29 00:42 /dev/tty14
crw-rw----    1 root     dialout     4,  15 Dec 29 00:42 /dev/tty15
crw-rw----    1 root     dialout     4,  16 Dec 29 00:42 /dev/tty16
crw-rw----    1 root     dialout     4,  17 Dec 29 00:42 /dev/tty17
crw-rw----    1 root     dialout     4,  18 Dec 29 00:42 /dev/tty18
crw-rw----    1 root     dialout     4,  19 Dec 29 00:42 /dev/tty19
crw-rw----    1 root     dialout     4,   2 Dec 29 00:42 /dev/tty2
crw-rw----    1 root     dialout     4,  20 Dec 29 00:42 /dev/tty20
crw-rw----    1 root     dialout     4,  21 Dec 29 00:42 /dev/tty21
crw-rw----    1 root     dialout     4,  22 Dec 29 00:42 /dev/tty22
crw-rw----    1 root     dialout     4,  23 Dec 29 00:42 /dev/tty23
crw-rw----    1 root     dialout     4,  24 Dec 29 00:42 /dev/tty24
crw-rw----    1 root     dialout     4,  25 Dec 29 00:42 /dev/tty25
crw-rw----    1 root     dialout     4,  26 Dec 29 00:42 /dev/tty26
crw-rw----    1 root     dialout     4,  27 Dec 29 00:42 /dev/tty27
crw-rw----    1 root     dialout     4,  28 Dec 29 00:42 /dev/tty28
crw-rw----    1 root     dialout     4,  29 Dec 29 00:42 /dev/tty29
crw-rw----    1 root     dialout     4,   3 Dec 29 00:42 /dev/tty3
crw-rw----    1 root     dialout     4,  30 Dec 29 00:42 /dev/tty30
crw-rw----    1 root     dialout     4,  31 Dec 29 00:42 /dev/tty31
crw-rw----    1 root     dialout     4,  32 Dec 29 00:42 /dev/tty32
crw-rw----    1 root     dialout     4,  33 Dec 29 00:42 /dev/tty33
crw-rw----    1 root     dialout     4,  34 Dec 29 00:42 /dev/tty34
crw-rw----    1 root     dialout     4,  35 Dec 29 00:42 /dev/tty35
crw-rw----    1 root     dialout     4,  36 Dec 29 00:42 /dev/tty36
crw-rw----    1 root     dialout     4,  37 Dec 29 00:42 /dev/tty37
crw-rw----    1 root     dialout     4,  38 Dec 29 00:42 /dev/tty38
crw-rw----    1 root     dialout     4,  39 Dec 29 00:42 /dev/tty39
crw-rw----    1 root     dialout     4,   4 Dec 29 00:42 /dev/tty4
crw-rw----    1 root     dialout     4,  40 Dec 29 00:42 /dev/tty40
crw-rw----    1 root     dialout     4,  41 Dec 29 00:42 /dev/tty41
crw-rw----    1 root     dialout     4,  42 Dec 29 00:42 /dev/tty42
crw-rw----    1 root     dialout     4,  43 Dec 29 00:42 /dev/tty43
crw-rw----    1 root     dialout     4,  44 Dec 29 00:42 /dev/tty44
crw-rw----    1 root     dialout     4,  45 Dec 29 00:42 /dev/tty45
crw-rw----    1 root     dialout     4,  46 Dec 29 00:42 /dev/tty46
crw-rw----    1 root     dialout     4,  47 Dec 29 00:42 /dev/tty47
crw-rw----    1 root     dialout     4,  48 Dec 29 00:42 /dev/tty48
crw-rw----    1 root     dialout     4,  49 Dec 29 00:42 /dev/tty49
crw-rw----    1 root     dialout     4,   5 Dec 29 00:42 /dev/tty5
crw-rw----    1 root     dialout     4,  50 Dec 29 00:42 /dev/tty50
crw-rw----    1 root     dialout     4,  51 Dec 29 00:42 /dev/tty51
crw-rw----    1 root     dialout     4,  52 Dec 29 00:42 /dev/tty52
crw-rw----    1 root     dialout     4,  53 Dec 29 00:42 /dev/tty53
crw-rw----    1 root     dialout     4,  54 Dec 29 00:42 /dev/tty54
crw-rw----    1 root     dialout     4,  55 Dec 29 00:42 /dev/tty55
crw-rw----    1 root     dialout     4,  56 Dec 29 00:42 /dev/tty56
crw-rw----    1 root     dialout     4,  57 Dec 29 00:42 /dev/tty57
crw-rw----    1 root     dialout     4,  58 Dec 29 00:42 /dev/tty58
crw-rw----    1 root     dialout     4,  59 Dec 29 00:42 /dev/tty59
crw-rw----    1 root     dialout     4,   6 Dec 29 00:42 /dev/tty6
crw-rw----    1 root     dialout     4,  60 Dec 29 00:42 /dev/tty60
crw-rw----    1 root     dialout     4,  61 Dec 29 00:42 /dev/tty61
crw-rw----    1 root     dialout     4,  62 Dec 29 00:42 /dev/tty62
crw-rw----    1 root     dialout     4,  63 Dec 29 00:42 /dev/tty63
crw-rw----    1 root     dialout     4,   7 Dec 29 00:42 /dev/tty7
crw-rw----    1 root     dialout     4,   8 Dec 29 00:42 /dev/tty8
crw-rw----    1 root     dialout     4,   9 Dec 29 00:42 /dev/tty9
crw-rw----    1 root     dialout     4,  64 Dec 29 00:42 /dev/ttyS0
crw-rw----    1 root     dialout     4,  65 Dec 29 00:42 /dev/ttyS1
crw-rw----    1 root     dialout     4,  74 Dec 29 00:42 /dev/ttyS10
crw-rw----    1 root     dialout     4,  75 Dec 29 00:42 /dev/ttyS11
crw-rw----    1 root     dialout     4,  76 Dec 29 00:42 /dev/ttyS12
crw-rw----    1 root     dialout     4,  77 Dec 29 00:42 /dev/ttyS13
crw-rw----    1 root     dialout     4,  78 Dec 29 00:42 /dev/ttyS14
crw-rw----    1 root     dialout     4,  79 Dec 29 00:42 /dev/ttyS15
crw-rw----    1 root     dialout     4,  66 Dec 29 00:42 /dev/ttyS2
crw-rw----    1 root     dialout     4,  67 Dec 29 00:42 /dev/ttyS3
crw-rw----    1 root     dialout     4,  68 Dec 29 00:42 /dev/ttyS4
crw-rw----    1 root     dialout     4,  69 Dec 29 00:42 /dev/ttyS5
crw-rw----    1 root     dialout     4,  70 Dec 29 00:42 /dev/ttyS6
crw-rw----    1 root     dialout     4,  71 Dec 29 00:42 /dev/ttyS7
crw-rw----    1 root     dialout     4,  72 Dec 29 00:42 /dev/ttyS8
crw-rw----    1 root     dialout     4,  73 Dec 29 00:42 /dev/ttyS9
crw-rw-rw-    1 root     root        1,   9 Dec 29 00:42 /dev/urandom
crw-------    1 root     root        7,   0 Dec 29 00:42 /dev/vcs
crw-------    1 root     root        7,   1 Dec 29 00:42 /dev/vcs1
crw-------    1 root     root        7, 128 Dec 29 00:42 /dev/vcsa
crw-------    1 root     root        7, 129 Dec 29 00:42 /dev/vcsa1
crw-------    1 root     root        7,  64 Dec 29 00:42 /dev/vcsu
crw-------    1 root     root        7,  65 Dec 29 00:42 /dev/vcsu1
crw-------    1 root     root       10, 127 Dec 29 00:42 /dev/vmci
crw-------    1 root     root       10, 126 Dec 29 00:42 /dev/vsock
crw-------    1 root     root      242,   2 Dec 29 00:42 /dev/wwan0at0
crw-------    1 root     root      242,   1 Dec 29 00:42 /dev/wwan0mbim0
crw-------    1 root     root      242,   0 Dec 29 00:42 /dev/wwan0qcdm0
crw-rw-rw-    1 root     root        1,   5 Dec 29 00:42 /dev/zero

/dev/bus:
drwxr-xr-x    3 root     root            60 Dec 29 00:42 .
drwxr-xr-x    6 root     root          2920 Dec 29 00:42 ..
drwxr-xr-x    5 root     root           100 Dec 29 00:42 usb

/dev/cpu:
drwxr-xr-x    6 root     root           120 Dec 29 00:42 .
drwxr-xr-x    6 root     root          2920 Dec 29 00:42 ..
drwxr-xr-x    2 root     root            80 Dec 29 00:42 0
drwxr-xr-x    2 root     root            80 Dec 29 00:42 1
drwxr-xr-x    2 root     root            80 Dec 29 00:42 2
drwxr-xr-x    2 root     root            80 Dec 29 00:42 3

/dev/dri:
drwxr-xr-x    2 root     root            80 Dec 29 00:42 .
drwxr-xr-x    6 root     root          2920 Dec 29 00:42 ..
crw-------    1 root     root      226,   0 Dec 29 00:42 card0
crw-------    1 root     root      226, 128 Dec 29 00:42 renderD128

/dev/pts:
drwxr-xr-x    2 root     root             0 Dec 29 00:42 .
drwxr-xr-x    6 root     root          2920 Dec 29 00:42 ..
crw--w--w-    1 root     root      136,   0 Dec 29 09:34 0
c---------    1 root     root        5,   2 Dec 29 00:42 ptmx

@obsy
Copy link

obsy commented Dec 29, 2023

And show us:

sms_tool -d /dev/wwan0at0 at "AT+CPIN?"
sms_tool -d /dev/wwan0at0 at "AT+CSQ"
sms_tool -d /dev/wwan0at0 at "AT+COPS=3,0;+COPS?"
sms_tool -d /dev/wwan0at0 at "AT+COPS=3,2;+COPS?"
sms_tool -d /dev/wwan0at0 at "AT+CREG=2;+CREG?"

@riccardoferti
Copy link

sms_tool -d /dev/wwan0at0 at "AT+CPIN?"
sms_tool -d /dev/wwan0at0 at "AT+CSQ"
sms_tool -d /dev/wwan0at0 at "AT+COPS=3,0;+COPS?"
sms_tool -d /dev/wwan0at0 at "AT+COPS=3,2;+COPS?"
sms_tool -d /dev/wwan0at0 at "AT+CREG=2;+CREG?"


sms_tool -d /dev/wwan0at0 at "AT+CPIN?"

+CPIN: READY

root@OpenWrt:~# sms_tool -d /dev/wwan0at0 at "AT+CSQ"

+CSQ: 29,99

root@OpenWrt:~# sms_tool -d /dev/wwan0at0 at "AT+COPS=3,0;+COPS?"

+COPS: 0,0,"vodafone IT",13

root@OpenWrt:~# sms_tool -d /dev/wwan0at0 at "AT+COPS=3,2;+COPS?"

+COPS: 0,2,"22210",13

root@OpenWrt:~# sms_tool -d /dev/wwan0at0 at "AT+CREG=2;+CREG?"

+CREG: 2,1,"A84B","1281221",13


@obsy
Copy link

obsy commented Dec 29, 2023

Hmm, very sad that /dev/mhi_DIAG does not exist like in Quectel.

@riccardoferti
Copy link

Hmm, very sad that /dev/mhi_DIAG does not exist like in Quectel.

It should be /dev/wwan0qcdm0 but don't know if It works

@riccardoferti
Copy link

what i see in device:

root@OpenWrt:/sys/devices/pci0000:00/0000:00:1c.5/0000:02:00.0/mhi0# ls
mhi0_DIAG mhi0_IP_HW0_MBIM mhi0_MBIM power subsystem wakeup
mhi0_DUN mhi0_LOOPBACK oem_pk_hash serial_number uevent wwan

@obsy
Copy link

obsy commented Dec 29, 2023

sms_tool -d /dev/wwan0at0 at "AT+CGMI"
sms_tool -d /dev/wwan0at0 at "AT+CGMM"
sms_tool -d /dev/wwan0at0 at "AT+CGMR"
sms_tool -d /dev/wwan0at0 at "AT+CGSN"
sms_tool -d /dev/wwan0at0 at "AT+ICCID"

@riccardoferti
Copy link

riccardoferti commented Dec 29, 2023

sms_tool -d /dev/wwan0at0 at "AT+CGMI"
sms_tool -d /dev/wwan0at0 at "AT+CGMM"
sms_tool -d /dev/wwan0at0 at "AT+CGMR"
sms_tool -d /dev/wwan0at0 at "AT+CGSN"
sms_tool -d /dev/wwan0at0 at "AT+ICCID"

AT+CGMI DELL
AT+CGMM T99W175
AT+CGMR T99W175.F0.1.0.0.9.VF.008 1 [Jan 20 2023 12:00:00]
AT+CGSN 3522801100xxxxx
AT+ICCID ICCID: 8939104520038678xxxx

x are for privacy

@obsy
Copy link

obsy commented Dec 30, 2023

I made the parser and it seems to work. But I'm still wondering how to create a framework to support PCI devices.

@riccardoferti
Copy link

I made the parser and it seems to work. But I'm still wondering how to create a framework to support PCI devices.

It's not simple to use AT port as device?

@obsy
Copy link

obsy commented Dec 30, 2023

Nope. It's a matter of discovering what is available and what script to use to process it. The script itself is simple.

@riccardoferti
Copy link

Nope. It's a matter of discovering what is available and what script to use to process it. The script itself is simple.

On USB 2.0 debug mode, it shows AT console in /dev/ttyUSB3

@obsy
Copy link

obsy commented Jan 2, 2024

Show us

cat /sys/kernel/debug/usb/devices

in this "usb 2.0 debug mode".

@riccardoferti
Copy link

Show us

cat /sys/kernel/debug/usb/devices

in this "usb 2.0 debug mode".

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480  MxCh= 0
D:  Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=05c6 ProdID=90d5 Rev= 4.14
S:  Manufacturer=Microsoft
S:  Product=Generic Mobile Broadband Adapter
S:  SerialNumber=90b86942
C:* #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=500mA
A:  FirstIf#= 2 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=option
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim
E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=32ms
I:  If#= 3 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
I:* If#= 3 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
E:  Ad=8e(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=0f(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 4 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E:  Ad=84(I) Atr=03(Int.) MxPS=  64 Ivl=32ms
I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=86(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

obtained assigning
echo "05c6 90d5 ff" > /sys/bus/usb-serial/drivers/option1/new_id

@jfrogg
Copy link

jfrogg commented Jan 3, 2024

Let me share some thoughts on discovery process.
The user will enter or select the serial port in the configuration. No change here.
Knowing serial device like "/dev/wwan0at0" allows the parent device be discovered the same way as with USB, but in this case the result will be a PCI path/device. The code should be similar to what is currently used in https://github.com/4IceG/luci-app-3ginfo-lite/blob/main/luci-app-3ginfo-lite/root/usr/share/3ginfo-lite/3ginfo.sh#L151

Unfortunately, I do not have a suitable device to experiment with at the moment, so this is an example based on PCI Wi-Fi card:

# cat /sys/devices/platform/1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0/vendor
0x14c3
# cat /sys/devices/platform/1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0/device
0x7915

It should be possible to find a path similar to "/sys/devices/platform/1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0" for "/dev/wwan0at0" from SysFS. In my example with net device "phy0-ap0" it was easy like that:

# readlink -f /sys/class/net/phy0-ap0/device
/sys/devices/platform/1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0

"vendor + product" combination is exactly what is currently used to select modem-specific scripts.

Hope it helps )

@riccardoferti
Copy link

Let me share some thoughts on discovery process.
The user will enter or select the serial port in the configuration. No change here.
Knowing serial device like "/dev/wwan0at0" allows the parent device be discovered the same way as with USB, but in this case the result will be a PCI path/device. The code should be similar to what is currently used in https://github.com/4IceG/luci-app-3ginfo-lite/blob/main/luci-app-3ginfo-lite/root/usr/share/3ginfo-lite/3ginfo.sh#L151

Unfortunately, I do not have a suitable device to experiment with at the moment, so this is an example based on PCI Wi-Fi card:

cat /sys/devices/platform/1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/vendor
0x14c3
cat /sys/devices/platform/1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/device
0x7916

It should be possible to find a path similar to "1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0" for "/dev/wwan0at0" from SysFS.

"vendor + product" combination is exactly what is currently used to select modem-specific scripts.

Hope it helps )

Clear, It Is as you said

@obsy
Copy link

obsy commented Jan 4, 2024

@riccardoferti

Show me

find /sys/bus/pci
find /sys -name wwan0at0

also install pciutils and show lspci -nn

@riccardoferti
Copy link

lspci -nn

find /sys/bus/pci
/sys/bus/pci
/sys/bus/pci/uevent
/sys/bus/pci/slots
/sys/bus/pci/drivers_autoprobe
/sys/bus/pci/devices
/sys/bus/pci/devices/0000:00:1f.2
/sys/bus/pci/devices/0000:00:1c.0
/sys/bus/pci/devices/0000:00:1f.0
/sys/bus/pci/devices/0000:02:00.0
/sys/bus/pci/devices/0000:00:04.0
/sys/bus/pci/devices/0000:00:1c.5
/sys/bus/pci/devices/0000:00:16.0
/sys/bus/pci/devices/0000:01:00.0
/sys/bus/pci/devices/0000:00:1b.0
/sys/bus/pci/devices/0000:00:19.0
/sys/bus/pci/devices/0000:00:1f.3
/sys/bus/pci/devices/0000:00:00.0
/sys/bus/pci/devices/0000:00:03.0
/sys/bus/pci/devices/0000:00:1d.0
/sys/bus/pci/devices/0000:00:02.0
/sys/bus/pci/devices/0000:00:14.0
/sys/bus/pci/rescan
/sys/bus/pci/resource_alignment
/sys/bus/pci/drivers_probe
/sys/bus/pci/drivers
/sys/bus/pci/drivers/pata_amd
/sys/bus/pci/drivers/pata_amd/uevent
/sys/bus/pci/drivers/pata_amd/bind
/sys/bus/pci/drivers/pata_amd/new_id
/sys/bus/pci/drivers/pata_amd/remove_id
/sys/bus/pci/drivers/pata_amd/unbind
/sys/bus/pci/drivers/ata_piix
/sys/bus/pci/drivers/ata_piix/uevent
/sys/bus/pci/drivers/ata_piix/bind
/sys/bus/pci/drivers/ata_piix/new_id
/sys/bus/pci/drivers/ata_piix/remove_id
/sys/bus/pci/drivers/ata_piix/unbind
/sys/bus/pci/drivers/ehci-pci
/sys/bus/pci/drivers/ehci-pci/uevent
/sys/bus/pci/drivers/ehci-pci/bind
/sys/bus/pci/drivers/ehci-pci/new_id
/sys/bus/pci/drivers/ehci-pci/remove_id
/sys/bus/pci/drivers/ehci-pci/unbind
/sys/bus/pci/drivers/ehci-pci/0000:00:1d.0
/sys/bus/pci/drivers/mptsas
/sys/bus/pci/drivers/mptsas/uevent
/sys/bus/pci/drivers/mptsas/bind
/sys/bus/pci/drivers/mptsas/new_id
/sys/bus/pci/drivers/mptsas/remove_id
/sys/bus/pci/drivers/mptsas/unbind
/sys/bus/pci/drivers/xhci_hcd
/sys/bus/pci/drivers/xhci_hcd/uevent
/sys/bus/pci/drivers/xhci_hcd/bind
/sys/bus/pci/drivers/xhci_hcd/new_id
/sys/bus/pci/drivers/xhci_hcd/remove_id
/sys/bus/pci/drivers/xhci_hcd/unbind
/sys/bus/pci/drivers/xhci_hcd/0000:00:14.0
/sys/bus/pci/drivers/pata_oldpiix
/sys/bus/pci/drivers/pata_oldpiix/uevent
/sys/bus/pci/drivers/pata_oldpiix/bind
/sys/bus/pci/drivers/pata_oldpiix/new_id
/sys/bus/pci/drivers/pata_oldpiix/remove_id
/sys/bus/pci/drivers/pata_oldpiix/unbind
/sys/bus/pci/drivers/intel_pch_thermal
/sys/bus/pci/drivers/intel_pch_thermal/uevent
/sys/bus/pci/drivers/intel_pch_thermal/bind
/sys/bus/pci/drivers/intel_pch_thermal/new_id
/sys/bus/pci/drivers/intel_pch_thermal/remove_id
/sys/bus/pci/drivers/intel_pch_thermal/unbind
/sys/bus/pci/drivers/intel_pch_thermal/module
/sys/bus/pci/drivers/mptspi
/sys/bus/pci/drivers/mptspi/uevent
/sys/bus/pci/drivers/mptspi/bind
/sys/bus/pci/drivers/mptspi/new_id
/sys/bus/pci/drivers/mptspi/remove_id
/sys/bus/pci/drivers/mptspi/unbind
/sys/bus/pci/drivers/vmw_vmci
/sys/bus/pci/drivers/vmw_vmci/uevent
/sys/bus/pci/drivers/vmw_vmci/bind
/sys/bus/pci/drivers/vmw_vmci/new_id
/sys/bus/pci/drivers/vmw_vmci/remove_id
/sys/bus/pci/drivers/vmw_vmci/unbind
/sys/bus/pci/drivers/pata_via
/sys/bus/pci/drivers/pata_via/uevent
/sys/bus/pci/drivers/pata_via/bind
/sys/bus/pci/drivers/pata_via/new_id
/sys/bus/pci/drivers/pata_via/remove_id
/sys/bus/pci/drivers/pata_via/unbind
/sys/bus/pci/drivers/iosf_mbi_pci
/sys/bus/pci/drivers/iosf_mbi_pci/uevent
/sys/bus/pci/drivers/iosf_mbi_pci/bind
/sys/bus/pci/drivers/iosf_mbi_pci/new_id
/sys/bus/pci/drivers/iosf_mbi_pci/remove_id
/sys/bus/pci/drivers/iosf_mbi_pci/unbind
/sys/bus/pci/drivers/snd_hda_intel
/sys/bus/pci/drivers/snd_hda_intel/uevent
/sys/bus/pci/drivers/snd_hda_intel/bind
/sys/bus/pci/drivers/snd_hda_intel/new_id
/sys/bus/pci/drivers/snd_hda_intel/remove_id
/sys/bus/pci/drivers/snd_hda_intel/0000:00:1b.0
/sys/bus/pci/drivers/snd_hda_intel/0000:00:03.0
/sys/bus/pci/drivers/snd_hda_intel/unbind
/sys/bus/pci/drivers/snd_hda_intel/module
/sys/bus/pci/drivers/bochs-drm
/sys/bus/pci/drivers/bochs-drm/uevent
/sys/bus/pci/drivers/bochs-drm/bind
/sys/bus/pci/drivers/bochs-drm/new_id
/sys/bus/pci/drivers/bochs-drm/remove_id
/sys/bus/pci/drivers/bochs-drm/unbind
/sys/bus/pci/drivers/bochs-drm/module
/sys/bus/pci/drivers/i40e
/sys/bus/pci/drivers/i40e/uevent
/sys/bus/pci/drivers/i40e/bind
/sys/bus/pci/drivers/i40e/new_id
/sys/bus/pci/drivers/i40e/remove_id
/sys/bus/pci/drivers/i40e/unbind
/sys/bus/pci/drivers/i40e/module
/sys/bus/pci/drivers/r8125
/sys/bus/pci/drivers/r8125/uevent
/sys/bus/pci/drivers/r8125/bind
/sys/bus/pci/drivers/r8125/new_id
/sys/bus/pci/drivers/r8125/remove_id
/sys/bus/pci/drivers/r8125/unbind
/sys/bus/pci/drivers/r8125/module
/sys/bus/pci/drivers/ahci
/sys/bus/pci/drivers/ahci/uevent
/sys/bus/pci/drivers/ahci/0000:00:1f.2
/sys/bus/pci/drivers/ahci/bind
/sys/bus/pci/drivers/ahci/new_id
/sys/bus/pci/drivers/ahci/remove_id
/sys/bus/pci/drivers/ahci/unbind
/sys/bus/pci/drivers/ahci/module
/sys/bus/pci/drivers/xen-platform-pci
/sys/bus/pci/drivers/xen-platform-pci/uevent
/sys/bus/pci/drivers/xen-platform-pci/bind
/sys/bus/pci/drivers/xen-platform-pci/new_id
/sys/bus/pci/drivers/xen-platform-pci/remove_id
/sys/bus/pci/drivers/xen-platform-pci/unbind
/sys/bus/pci/drivers/vmw_pvscsi
/sys/bus/pci/drivers/vmw_pvscsi/uevent
/sys/bus/pci/drivers/vmw_pvscsi/bind
/sys/bus/pci/drivers/vmw_pvscsi/new_id
/sys/bus/pci/drivers/vmw_pvscsi/remove_id
/sys/bus/pci/drivers/vmw_pvscsi/unbind
/sys/bus/pci/drivers/vmw_pvscsi/module
/sys/bus/pci/drivers/snd_via82xx
/sys/bus/pci/drivers/snd_via82xx/uevent
/sys/bus/pci/drivers/snd_via82xx/bind
/sys/bus/pci/drivers/snd_via82xx/new_id
/sys/bus/pci/drivers/snd_via82xx/remove_id
/sys/bus/pci/drivers/snd_via82xx/unbind
/sys/bus/pci/drivers/snd_via82xx/module
/sys/bus/pci/drivers/lpc_sch
/sys/bus/pci/drivers/lpc_sch/uevent
/sys/bus/pci/drivers/lpc_sch/bind
/sys/bus/pci/drivers/lpc_sch/new_id
/sys/bus/pci/drivers/lpc_sch/remove_id
/sys/bus/pci/drivers/lpc_sch/unbind
/sys/bus/pci/drivers/nvme
/sys/bus/pci/drivers/nvme/uevent
/sys/bus/pci/drivers/nvme/bind
/sys/bus/pci/drivers/nvme/new_id
/sys/bus/pci/drivers/nvme/remove_id
/sys/bus/pci/drivers/nvme/unbind
/sys/bus/pci/drivers/nvme/module
/sys/bus/pci/drivers/tg3
/sys/bus/pci/drivers/tg3/uevent
/sys/bus/pci/drivers/tg3/bind
/sys/bus/pci/drivers/tg3/new_id
/sys/bus/pci/drivers/tg3/remove_id
/sys/bus/pci/drivers/tg3/unbind
/sys/bus/pci/drivers/tg3/module
/sys/bus/pci/drivers/igb
/sys/bus/pci/drivers/igb/uevent
/sys/bus/pci/drivers/igb/bind
/sys/bus/pci/drivers/igb/new_id
/sys/bus/pci/drivers/igb/remove_id
/sys/bus/pci/drivers/igb/unbind
/sys/bus/pci/drivers/igb/module
/sys/bus/pci/drivers/forcedeth
/sys/bus/pci/drivers/forcedeth/uevent
/sys/bus/pci/drivers/forcedeth/bind
/sys/bus/pci/drivers/forcedeth/new_id
/sys/bus/pci/drivers/forcedeth/remove_id
/sys/bus/pci/drivers/forcedeth/unbind
/sys/bus/pci/drivers/forcedeth/module
/sys/bus/pci/drivers/snd_intel8x0
/sys/bus/pci/drivers/snd_intel8x0/uevent
/sys/bus/pci/drivers/snd_intel8x0/bind
/sys/bus/pci/drivers/snd_intel8x0/new_id
/sys/bus/pci/drivers/snd_intel8x0/remove_id
/sys/bus/pci/drivers/snd_intel8x0/unbind
/sys/bus/pci/drivers/snd_intel8x0/module
/sys/bus/pci/drivers/bdw_uncore
/sys/bus/pci/drivers/bdw_uncore/uevent
/sys/bus/pci/drivers/bdw_uncore/bind
/sys/bus/pci/drivers/bdw_uncore/new_id
/sys/bus/pci/drivers/bdw_uncore/remove_id
/sys/bus/pci/drivers/bdw_uncore/0000:00:00.0
/sys/bus/pci/drivers/bdw_uncore/unbind
/sys/bus/pci/drivers/e1000
/sys/bus/pci/drivers/e1000/uevent
/sys/bus/pci/drivers/e1000/bind
/sys/bus/pci/drivers/e1000/new_id
/sys/bus/pci/drivers/e1000/remove_id
/sys/bus/pci/drivers/e1000/unbind
/sys/bus/pci/drivers/e1000/module
/sys/bus/pci/drivers/ata_generic
/sys/bus/pci/drivers/ata_generic/uevent
/sys/bus/pci/drivers/ata_generic/bind
/sys/bus/pci/drivers/ata_generic/new_id
/sys/bus/pci/drivers/ata_generic/remove_id
/sys/bus/pci/drivers/ata_generic/unbind
/sys/bus/pci/drivers/ixgbevf
/sys/bus/pci/drivers/ixgbevf/uevent
/sys/bus/pci/drivers/ixgbevf/bind
/sys/bus/pci/drivers/ixgbevf/new_id
/sys/bus/pci/drivers/ixgbevf/remove_id
/sys/bus/pci/drivers/ixgbevf/unbind
/sys/bus/pci/drivers/ixgbevf/module
/sys/bus/pci/drivers/k10temp
/sys/bus/pci/drivers/k10temp/uevent
/sys/bus/pci/drivers/k10temp/bind
/sys/bus/pci/drivers/k10temp/new_id
/sys/bus/pci/drivers/k10temp/remove_id
/sys/bus/pci/drivers/k10temp/unbind
/sys/bus/pci/drivers/k10temp/module
/sys/bus/pci/drivers/pcieport
/sys/bus/pci/drivers/pcieport/uevent
/sys/bus/pci/drivers/pcieport/0000:00:1c.0
/sys/bus/pci/drivers/pcieport/bind
/sys/bus/pci/drivers/pcieport/new_id
/sys/bus/pci/drivers/pcieport/remove_id
/sys/bus/pci/drivers/pcieport/0000:00:1c.5
/sys/bus/pci/drivers/pcieport/unbind
/sys/bus/pci/drivers/tulip
/sys/bus/pci/drivers/tulip/uevent
/sys/bus/pci/drivers/tulip/bind
/sys/bus/pci/drivers/tulip/new_id
/sys/bus/pci/drivers/tulip/remove_id
/sys/bus/pci/drivers/tulip/unbind
/sys/bus/pci/drivers/tulip/module
/sys/bus/pci/drivers/r8168
/sys/bus/pci/drivers/r8168/uevent
/sys/bus/pci/drivers/r8168/bind
/sys/bus/pci/drivers/r8168/new_id
/sys/bus/pci/drivers/r8168/remove_id
/sys/bus/pci/drivers/r8168/unbind
/sys/bus/pci/drivers/r8168/module
/sys/bus/pci/drivers/r8101
/sys/bus/pci/drivers/r8101/uevent
/sys/bus/pci/drivers/r8101/bind
/sys/bus/pci/drivers/r8101/new_id
/sys/bus/pci/drivers/r8101/remove_id
/sys/bus/pci/drivers/r8101/unbind
/sys/bus/pci/drivers/r8101/module
/sys/bus/pci/drivers/ohci-pci
/sys/bus/pci/drivers/ohci-pci/uevent
/sys/bus/pci/drivers/ohci-pci/bind
/sys/bus/pci/drivers/ohci-pci/new_id
/sys/bus/pci/drivers/ohci-pci/remove_id
/sys/bus/pci/drivers/ohci-pci/unbind
/sys/bus/pci/drivers/lpc_ich
/sys/bus/pci/drivers/lpc_ich/uevent
/sys/bus/pci/drivers/lpc_ich/bind
/sys/bus/pci/drivers/lpc_ich/0000:00:1f.0
/sys/bus/pci/drivers/lpc_ich/new_id
/sys/bus/pci/drivers/lpc_ich/remove_id
/sys/bus/pci/drivers/lpc_ich/unbind
/sys/bus/pci/drivers/k8temp
/sys/bus/pci/drivers/k8temp/uevent
/sys/bus/pci/drivers/k8temp/bind
/sys/bus/pci/drivers/k8temp/new_id
/sys/bus/pci/drivers/k8temp/remove_id
/sys/bus/pci/drivers/k8temp/unbind
/sys/bus/pci/drivers/virtio-pci
/sys/bus/pci/drivers/virtio-pci/uevent
/sys/bus/pci/drivers/virtio-pci/bind
/sys/bus/pci/drivers/virtio-pci/new_id
/sys/bus/pci/drivers/virtio-pci/remove_id
/sys/bus/pci/drivers/virtio-pci/unbind
/sys/bus/pci/drivers/virtio-pci/module
/sys/bus/pci/drivers/i5500_temp
/sys/bus/pci/drivers/i5500_temp/uevent
/sys/bus/pci/drivers/i5500_temp/bind
/sys/bus/pci/drivers/i5500_temp/new_id
/sys/bus/pci/drivers/i5500_temp/remove_id
/sys/bus/pci/drivers/i5500_temp/unbind
/sys/bus/pci/drivers/e1000e
/sys/bus/pci/drivers/e1000e/uevent
/sys/bus/pci/drivers/e1000e/bind
/sys/bus/pci/drivers/e1000e/new_id
/sys/bus/pci/drivers/e1000e/remove_id
/sys/bus/pci/drivers/e1000e/0000:00:19.0
/sys/bus/pci/drivers/e1000e/unbind
/sys/bus/pci/drivers/e1000e/module
/sys/bus/pci/drivers/vmxnet3
/sys/bus/pci/drivers/vmxnet3/uevent
/sys/bus/pci/drivers/vmxnet3/bind
/sys/bus/pci/drivers/vmxnet3/new_id
/sys/bus/pci/drivers/vmxnet3/remove_id
/sys/bus/pci/drivers/vmxnet3/unbind
/sys/bus/pci/drivers/8139cp
/sys/bus/pci/drivers/8139cp/uevent
/sys/bus/pci/drivers/8139cp/bind
/sys/bus/pci/drivers/8139cp/new_id
/sys/bus/pci/drivers/8139cp/remove_id
/sys/bus/pci/drivers/8139cp/unbind
/sys/bus/pci/drivers/8139cp/module
/sys/bus/pci/drivers/sdhci-pci
/sys/bus/pci/drivers/sdhci-pci/uevent
/sys/bus/pci/drivers/sdhci-pci/bind
/sys/bus/pci/drivers/sdhci-pci/new_id
/sys/bus/pci/drivers/sdhci-pci/remove_id
/sys/bus/pci/drivers/sdhci-pci/unbind
/sys/bus/pci/drivers/8139too
/sys/bus/pci/drivers/8139too/uevent
/sys/bus/pci/drivers/8139too/bind
/sys/bus/pci/drivers/8139too/new_id
/sys/bus/pci/drivers/8139too/remove_id
/sys/bus/pci/drivers/8139too/unbind
/sys/bus/pci/drivers/8139too/module
/sys/bus/pci/drivers/fam15h_power
/sys/bus/pci/drivers/fam15h_power/uevent
/sys/bus/pci/drivers/fam15h_power/bind
/sys/bus/pci/drivers/fam15h_power/new_id
/sys/bus/pci/drivers/fam15h_power/remove_id
/sys/bus/pci/drivers/fam15h_power/unbind
/sys/bus/pci/drivers/pata_mpiix
/sys/bus/pci/drivers/pata_mpiix/uevent
/sys/bus/pci/drivers/pata_mpiix/bind
/sys/bus/pci/drivers/pata_mpiix/new_id
/sys/bus/pci/drivers/pata_mpiix/remove_id
/sys/bus/pci/drivers/pata_mpiix/unbind
/sys/bus/pci/drivers/amd-xgbe
/sys/bus/pci/drivers/amd-xgbe/uevent
/sys/bus/pci/drivers/amd-xgbe/bind
/sys/bus/pci/drivers/amd-xgbe/new_id
/sys/bus/pci/drivers/amd-xgbe/remove_id
/sys/bus/pci/drivers/amd-xgbe/unbind
/sys/bus/pci/drivers/amd-xgbe/module
/sys/bus/pci/drivers/serial
/sys/bus/pci/drivers/serial/uevent
/sys/bus/pci/drivers/serial/bind
/sys/bus/pci/drivers/serial/new_id
/sys/bus/pci/drivers/serial/remove_id
/sys/bus/pci/drivers/serial/unbind
/sys/bus/pci/drivers/igc
/sys/bus/pci/drivers/igc/uevent
/sys/bus/pci/drivers/igc/bind
/sys/bus/pci/drivers/igc/new_id
/sys/bus/pci/drivers/igc/remove_id
/sys/bus/pci/drivers/igc/unbind
/sys/bus/pci/drivers/igc/module
/sys/bus/pci/drivers/i915
/sys/bus/pci/drivers/i915/uevent
/sys/bus/pci/drivers/i915/bind
/sys/bus/pci/drivers/i915/new_id
/sys/bus/pci/drivers/i915/remove_id
/sys/bus/pci/drivers/i915/unbind
/sys/bus/pci/drivers/i915/0000:00:02.0
/sys/bus/pci/drivers/i915/module
/sys/bus/pci/drivers/mhi-pci-generic
/sys/bus/pci/drivers/mhi-pci-generic/uevent
/sys/bus/pci/drivers/mhi-pci-generic/bind
/sys/bus/pci/drivers/mhi-pci-generic/new_id
/sys/bus/pci/drivers/mhi-pci-generic/remove_id
/sys/bus/pci/drivers/mhi-pci-generic/0000:02:00.0
/sys/bus/pci/drivers/mhi-pci-generic/unbind
/sys/bus/pci/drivers/mhi-pci-generic/module
/sys/bus/pci/drivers/igbvf
/sys/bus/pci/drivers/igbvf/uevent
/sys/bus/pci/drivers/igbvf/bind
/sys/bus/pci/drivers/igbvf/new_id
/sys/bus/pci/drivers/igbvf/remove_id
/sys/bus/pci/drivers/igbvf/unbind
/sys/bus/pci/drivers/igbvf/module
/sys/bus/pci/drivers/pcnet32
/sys/bus/pci/drivers/pcnet32/uevent
/sys/bus/pci/drivers/pcnet32/bind
/sys/bus/pci/drivers/pcnet32/new_id
/sys/bus/pci/drivers/pcnet32/remove_id
/sys/bus/pci/drivers/pcnet32/unbind
/sys/bus/pci/drivers/pcnet32/module
/sys/bus/pci/drivers/uhci_hcd
/sys/bus/pci/drivers/uhci_hcd/uevent
/sys/bus/pci/drivers/uhci_hcd/bind
/sys/bus/pci/drivers/uhci_hcd/new_id
/sys/bus/pci/drivers/uhci_hcd/remove_id
/sys/bus/pci/drivers/uhci_hcd/unbind
/sys/bus/pci/drivers/uhci_hcd/module
/sys/bus/pci/drivers/ena
/sys/bus/pci/drivers/ena/uevent
/sys/bus/pci/drivers/ena/bind
/sys/bus/pci/drivers/ena/new_id
/sys/bus/pci/drivers/ena/remove_id
/sys/bus/pci/drivers/ena/unbind
/sys/bus/pci/drivers/ena/module
/sys/bus/pci/drivers/bnx2
/sys/bus/pci/drivers/bnx2/uevent
/sys/bus/pci/drivers/bnx2/bind
/sys/bus/pci/drivers/bnx2/new_id
/sys/bus/pci/drivers/bnx2/remove_id
/sys/bus/pci/drivers/bnx2/unbind
/sys/bus/pci/drivers/bnx2/module
/sys/bus/pci/drivers/pata_atiixp
/sys/bus/pci/drivers/pata_atiixp/uevent
/sys/bus/pci/drivers/pata_atiixp/bind
/sys/bus/pci/drivers/pata_atiixp/new_id
/sys/bus/pci/drivers/pata_atiixp/remove_id
/sys/bus/pci/drivers/pata_atiixp/unbind
/sys/bus/pci/drivers/agpgart-intel
/sys/bus/pci/drivers/agpgart-intel/uevent
/sys/bus/pci/drivers/agpgart-intel/bind
/sys/bus/pci/drivers/agpgart-intel/new_id
/sys/bus/pci/drivers/agpgart-intel/remove_id
/sys/bus/pci/drivers/agpgart-intel/unbind
/sys/bus/pci/drivers/ixgbe
/sys/bus/pci/drivers/ixgbe/uevent
/sys/bus/pci/drivers/ixgbe/bind
/sys/bus/pci/drivers/ixgbe/new_id
/sys/bus/pci/drivers/ixgbe/remove_id
/sys/bus/pci/drivers/ixgbe/unbind
/sys/bus/pci/drivers/ixgbe/module
 find /sys -name wwan0at0
/sys/class/wwan/wwan0at0
/sys/devices/pci0000:00/0000:00:1c.5/0000:02:00.0/mhi0/wwan/wwan0/wwan0at0
lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation Broadwell-U Host Bridge -OPI [8086:1604] (rev 09)
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 5500 [8086:1616] (rev 09)
00:03.0 Audio device [0403]: Intel Corporation Broadwell-U Audio Controller [8086:160c] (rev 09)
00:04.0 Signal processing controller [1180]: Intel Corporation Broadwell-U Processor Thermal Subsystem [8086:1603] (rev 09)
00:14.0 USB controller [0c03]: Intel Corporation Wildcat Point-LP USB xHCI Controller [8086:9cb1] (rev 03)
00:16.0 Communication controller [0780]: Intel Corporation Wildcat Point-LP MEI Controller #1 [8086:9cba] (rev 03)
00:19.0 Ethernet controller [0200]: Intel Corporation Ethernet Connection (3) I218-LM [8086:15a2] (rev 03)
00:1b.0 Audio device [0403]: Intel Corporation Wildcat Point-LP High Definition Audio Controller [8086:9ca0] (rev 03)
00:1c.0 PCI bridge [0604]: Intel Corporation Wildcat Point-LP PCI Express Root Port #1 [8086:9c90] (rev e3)
00:1c.5 PCI bridge [0604]: Intel Corporation Wildcat Point-LP PCI Express Root Port #6 [8086:9c9a] (rev e3)
00:1d.0 USB controller [0c03]: Intel Corporation Wildcat Point-LP USB EHCI Controller [8086:9ca6] (rev 03)
00:1f.0 ISA bridge [0601]: Intel Corporation Wildcat Point-LP LPC Controller [8086:9cc3] (rev 03)
00:1f.2 SATA controller [0106]: Intel Corporation Wildcat Point-LP SATA Controller [AHCI Mode] [8086:9c83] (rev 03)
00:1f.3 SMBus [0c05]: Intel Corporation Wildcat Point-LP SMBus Controller [8086:9ca2] (rev 03)
01:00.0 SD Host controller [0805]: O2 Micro, Inc. SD/MMC Card Reader Controller [1217:8520] (rev 01)
02:00.0 Wireless controller [0d40]: Foxconn International, Inc. Device [105b:e0b0]

@jfrogg
Copy link

jfrogg commented Jan 6, 2024

@riccardoferti please run when you have a chance:
readlink -f /sys/class/wwan/wwan0at0/device

BTW, could you please share the details about the module you use - t99w175.?? version and whether it is Dell/HP/Lenovo branded.

@obsy
Copy link

obsy commented Jan 6, 2024

cat /sys/devices/pci0000:00/0000:00:1c.5/0000:02:00.0/vendor
cat /sys/devices/pci0000:00/0000:00:1c.5/0000:02:00.0/device

?

@riccardoferti
Copy link

riccardoferti commented Jan 6, 2024

readlink -f /sys/class/wwan/wwan0at0/device

 readlink -f /sys/class/wwan/wwan0at0/device
/sys/devices/pci0000:00/0000:00:1c.5/0000:02:00.0/mhi0/wwan/wwan0

The device Is a Dell Prototype version, bought on AliExpress.
You can change the device vendor switching at^customer=x
1 Dell
0 Foxconn
4 Lenovo
6 HP (maybe)

Mine Is 0 actually, with latest Lenovo firmware installed. It's the latest in Building time.

Manufacturer: DELL
Model: T99W175
Revision: T99W175.F0.1.0.0.9.VF.008  1  [Jan 20 2023 12:00:00]

@riccardoferti
Copy link

cat /sys/devices/pci0000:00/0000:00:1c.5/0000:02:00.0/vendor

0x105b

cat /sys/devices/pci0000:00/0000:00:1c.5/0000:02:00.0/device

0xe0b0

@jfrogg
Copy link

jfrogg commented Jan 6, 2024

@riccardoferti I was mainly interested what is printed/engraved on the modem itself. Thank you.

@riccardoferti
Copy link

@riccardoferti I was mainly interested what is printed/engraved on the modem itself. Thank you.

Who wants can DM me on Telegram @nerdherd96

@obsy
Copy link

obsy commented Jan 8, 2024

@4IceG : zaimplementuj to u siebie: obsy/packages@e1daf55

Jeżeli będzie wszystko ok to trzeba rozważyć czy nie przenieść danych do oddzielnych podkatalogów pci/ i usb/

@4IceG
Copy link
Owner Author

4IceG commented Jan 8, 2024

image

All seems good maybe need only to check this:

5G NSA \| B3 (1800 MHz) + B28 (700 MHz) / B7 (2600 MHz) / B1 (2100 MHz) / n78 (3500 MHz) --


I advise to set only + or / symbol

I'll check it tomorrow.

@riccardoferti
Copy link

Where?

It is slow to read and often it doesn't find modem

Maybe other package is using modem at the same time?

Should be Modem Manager

@4IceG
Copy link
Owner Author

4IceG commented Jan 9, 2024

Maybe other package is using modem at the same time?

Should be Modem Manager

So we have problem because MM and 3ginfo-lite cannot work together.

@riccardoferti
Copy link

Maybe other package is using modem at the same time?

Should be Modem Manager

So we have problem because MM and 3ginfo-lite cannot work together.

Oh ok, but T99w175 can't work without MM

@frauhottelmann
Copy link
Contributor

Maybe other package is using modem at the same time?

Should be Modem Manager

So we have problem because MM and 3ginfo-lite cannot work together.

Oh ok, but T99w175 can't work without MM

In what device are you running this card with OpenWrt?

@sp2003
Copy link

sp2003 commented Apr 19, 2024

Can the package also be installed for USB2 version QMI protocol?

# cat /sys/kernel/debug/usb/devices

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 2
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 6.01
S:  Manufacturer=Linux 6.1.82 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=1e1c0000.xhci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480  MxCh= 0
D:  Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1e2d ProdID=00b7 Rev= 4.14
S:  Manufacturer=Cinterion
S:  Product=Cinterion PID 0x00B7 USB Mobile Broadband
S:  SerialNumber=7a7435d9
C:* #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
E:  Ad=8e(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=0f(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=83(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=85(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=5000 MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=1d6b ProdID=0003 Rev= 6.01
S:  Manufacturer=Linux 6.1.82 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=1e1c0000.xhci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

@obsy
Copy link

obsy commented Apr 20, 2024

It does not matter. Package requires a serial interface to talk to the modem.

@sp2003
Copy link

sp2003 commented Apr 20, 2024

I installed the package luci-app-3ginfo-lite_1.0.62-20240108_all.ipk, I replaced pci105be0b0 with pci105be0b0_last_fix, then copied and renamed 1e2d00b7 in the folder /usr/share/3ginfo-lite/modem/usb, and this is the result. Some information on bands and ISPs is missing, and it is a bit slow in retrieving information. Is it possible to modify it to improve it?
3ginfo lite

@4IceG
Copy link
Owner Author

4IceG commented Apr 20, 2024

Hi @sp2003 ,
Replace file as in this thread #71 (comment) to fix the missing operator bug.

The command result is needed to diagnose remaining bugs.
sh -x /usr/share/3ginfo-lite/3ginfo.sh

If you use MM to connect, the data will be read slower or stupid values ​​will be displayed. This happens when two packages communicate with modem at the same time.

@sp2003
Copy link

sp2003 commented Apr 20, 2024

it's long report.
I'll attach a file to you
3ginfo.txt

@4IceG
Copy link
Owner Author

4IceG commented Apr 20, 2024

it's long report.
I'll attach a file to you
3ginfo.txt

@sp2003 install the latest available version of package and then replace the files and check how it works.

@sp2003
Copy link

sp2003 commented Apr 20, 2024

done, but we made the situation worse
Immagine 2024-04-20 091858
Immagine 2024-04-20 092344

@4IceG
Copy link
Owner Author

4IceG commented Apr 20, 2024

@sp2003 Install this version (contains current fixes) luci-app-3ginfo-lite_1.0.66-20240420_all.zip.

If there are errors, show the command results:
sh -x /usr/share/3ginfo-lite/3ginfo.sh

@sp2003
Copy link

sp2003 commented Apr 20, 2024

it' perfect!

Thank you!!!
Immagine 2024-04-20 114704

@4IceG
Copy link
Owner Author

4IceG commented Apr 20, 2024

@sp2003 Show me the result of the commands:

sms_tool -d /dev/ttyUSB0 at "AT^TEMP"
sms_tool -d /dev/ttyUSB0 at "AT^TEMP?"
sh -x /usr/share/3ginfo-lite/3ginfo.sh

Currently, there is no location, no temperature and there is an bug with the TAC hex value.

@sp2003
Copy link

sp2003 commented Apr 20, 2024

of corse!

root@X-WRT:~# sms_tool -d /dev/ttyUSB0 at "AT^TEMP"
AT^TEMP
root@X-WRT:~# sms_tool -d /dev/ttyUSB0 at "AT^TEMP?"
AT^TEMP?
PA: 28C
Skin Sensor: 27C
TSENS: 32C

3ginfo.txt

@sp2003
Copy link

sp2003 commented Apr 20, 2024

For information, this modem can change communication protocol from QMI to MBIM with an AT command.
In this case, the modem becomes

  | T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 0 |  
  | D: Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 |  
  **| P: Vendor=1e2d ProdID=00b3 Rev= 4.14 |**  
  | S: Manufacturer=Cinterion |  
  | S: Product=Cinterion PID 0x00B3 USB Mobile Broadband |  
  | S: SerialNumber=f47fbe2c |  
  | C:* #Ifs= 6 Cfg#= 1 Atr=80 MxPwr=500mA |  
  | A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00 |  
  | I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim |  
  | E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=32ms |  
  | I: If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim |  
  | I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim |  
  | E: Ad=8e(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms |  
  | E: Ad=0f(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms |  
  | I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option |  
  | E: Ad=83(I) Atr=03(Int.) MxPS= 10 Ivl=32ms |  
  | E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms |  
  | E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms |  
  | I:* If#= 3 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) |  
  | E: Ad=84(I) Atr=03(Int.) MxPS= 64 Ivl=32ms |  
  | I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option |  
  | E: Ad=86(I) Atr=03(Int.) MxPS= 10 Ivl=32ms |  
  | E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms |  
  | E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms |  
  | I:* If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option |  
  | E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms |  
  | E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

so if you want you can also add this mode.

@4IceG
Copy link
Owner Author

4IceG commented Apr 20, 2024

@sp2003 Uninstall package and install this version luci-app-3ginfo-lite_1.0.66-20240420_all.zip.

P.S.
I also added mbim support.

@sp2003
Copy link

sp2003 commented Apr 20, 2024

in MBIM on ROOter VM installation it does not work
Immagine 2024-04-20 173136

3ginfo.txt

@4IceG
Copy link
Owner Author

4IceG commented Apr 20, 2024

@sp2003 Does the qmi version work? If you can, check mbim on a version other than ROOTer.

@sp2003
Copy link

sp2003 commented Apr 21, 2024

tested on a different version, it's works!!!!

again, great job!

@SuperMitic
Copy link

SuperMitic commented Apr 24, 2024

Hi, I've a Dell T99W175 (DW5930e) and I am using it in a openwrt x86 PC with modemmanager in PCIe mode. I've tried the latest version of this package, but it doesn't seem to work as @riccardoferti.
This is my vendor and device:

root@OpenWrt:/sys/devices/pci0000:00/0000:00:1c.0/0000:01:00.0# cat vendor
0x105b
root@OpenWrt:/sys/devices/pci0000:00/0000:00:1c.0/0000:01:00.0# cat device
0xe0b1

The device is e0b1, instead of e0b0. I've tried changing the name of the script in pci folder but it didn't work.

Moreover, I've tried this command, but the modem doesn't answer:

sms_tool -d /dev/wwan0at0 at "AT+CGMI"
sms_tool -d /dev/wwan0at0 at "AT+CGMM"
sms_tool -d /dev/wwan0at0 at "AT+CGMR"
sms_tool -d /dev/wwan0at0 at "AT+CGSN"
sms_tool -d /dev/wwan0at0 at "AT+ICCID"

@obsy
Copy link

obsy commented Apr 24, 2024

Hi, I've a Dell T99W175 (DW5930e) and I am using it in a openwrt x86 PC with modemmanager in PCIe mode.
See main page:

My package will not work if you are using ModemManager.

@SuperMitic
Copy link

Hi, I've a Dell T99W175 (DW5930e) and I am using it in a openwrt x86 PC with modemmanager in PCIe mode.
See main page:

My package will not work if you are using ModemManager.

@riccardoferti has DW5930e with device e0b0 and he is using this package with ModemManager. He just said that is a little bit slow

@4IceG
Copy link
Owner Author

4IceG commented Apr 24, 2024

Hi @SuperMitic ,
Could you show result of the command:

ls -al /dev/*

From pure curiosity..

@SuperMitic
Copy link

SuperMitic commented Apr 24, 2024

Hi @SuperMitic , Could you show result of the command:

ls -al /dev/*

From pure curiosity..

I am not at home right now, but it is the same as riccardo. I have wwan0at0, wwan0mbim0, wwan0qcdm0

I have discovered the difference between riccardoferti module and mine. He has the e-sim version (e0b0), I have the non e-sim version (e0b1)

@SuperMitic
Copy link

Could you show result of the command:

ls -al /dev/*

root@OpenWrt:~# ls -al /dev/*
crw-------    1 root     root        5,   1 Apr 27 10:42 /dev/console
crw-------    1 root     root       10, 125 Apr 27 10:42 /dev/cpu_dma_latency
crw-------    1 root     root       29,   0 Apr 27 10:42 /dev/fb0
lrwxrwxrwx    1 root     root            13 Apr 27 10:42 /dev/fd -> /proc/self/fd
crw-rw-rw-    1 root     root        1,   7 Apr 27 10:42 /dev/full
crw-------    1 root     root      243,   0 Apr 27 10:42 /dev/hidraw0
crw-------    1 root     root       10, 228 Apr 27 10:42 /dev/hpet
crw-------    1 root     root       10, 183 Apr 27 10:42 /dev/hwrng
crw-------    1 root     root        1,  11 Apr 27 10:42 /dev/kmsg
srw-rw-rw-    1 root     root             0 Apr 27 10:42 /dev/log
crw-------    1 root     root       10, 237 Apr 27 10:42 /dev/loop-control
brw-------    1 root     root        7,   0 Apr 27 10:42 /dev/loop0
brw-------    1 root     root        7,   1 Apr 27 10:42 /dev/loop1
brw-------    1 root     root        7,   2 Apr 27 10:42 /dev/loop2
brw-------    1 root     root        7,   3 Apr 27 10:42 /dev/loop3
brw-------    1 root     root        7,   4 Apr 27 10:42 /dev/loop4
brw-------    1 root     root        7,   5 Apr 27 10:42 /dev/loop5
brw-------    1 root     root        7,   6 Apr 27 10:42 /dev/loop6
brw-------    1 root     root        7,   7 Apr 27 10:42 /dev/loop7
crw-rw-rw-    1 root     root        1,   3 Apr 27 10:42 /dev/null
crw-------    1 root     root       10, 144 Apr 27 10:42 /dev/nvram
crw-------    1 root     root        1,   4 Apr 27 10:42 /dev/port
crw-------    1 root     root      108,   0 Apr 27 10:42 /dev/ppp
crw-rw-rw-    1 root     root        5,   2 Apr 27 10:51 /dev/ptmx
crw-------    1 root     root      249,   0 Apr 27 10:42 /dev/ptp0
crw-rw-rw-    1 root     root        1,   8 Apr 27 10:42 /dev/random
crw-------    1 root     root      251,   0 Apr 27 10:42 /dev/rtc0
brw-------    1 root     root        8,   0 Apr 27 10:42 /dev/sda
brw-------    1 root     root        8,   1 Apr 27 10:42 /dev/sda1
brw-------    1 root     root      259,   0 Apr 27 10:42 /dev/sda128
brw-------    1 root     root        8,   2 Apr 27 10:42 /dev/sda2
lrwxrwxrwx    1 root     root             8 Apr 27 10:42 /dev/shm -> /tmp/shm
brw-------    1 root     root       11,   0 Apr 27 10:42 /dev/sr0
lrwxrwxrwx    1 root     root            15 Apr 27 10:42 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx    1 root     root            15 Apr 27 10:42 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx    1 root     root            15 Apr 27 10:42 /dev/stdout -> /proc/self/fd/1
crw-rw-rw-    1 root     root        5,   0 Apr 27 10:42 /dev/tty
crw-rw----    1 root     dialout     4,   0 Apr 27 10:42 /dev/tty0
crw-rw----    1 root     dialout     4,   1 Apr 27 10:42 /dev/tty1
crw-rw----    1 root     dialout     4,  10 Apr 27 10:42 /dev/tty10
crw-rw----    1 root     dialout     4,  11 Apr 27 10:42 /dev/tty11
crw-rw----    1 root     dialout     4,  12 Apr 27 10:42 /dev/tty12
crw-rw----    1 root     dialout     4,  13 Apr 27 10:42 /dev/tty13
crw-rw----    1 root     dialout     4,  14 Apr 27 10:42 /dev/tty14
crw-rw----    1 root     dialout     4,  15 Apr 27 10:42 /dev/tty15
crw-rw----    1 root     dialout     4,  16 Apr 27 10:42 /dev/tty16
crw-rw----    1 root     dialout     4,  17 Apr 27 10:42 /dev/tty17
crw-rw----    1 root     dialout     4,  18 Apr 27 10:42 /dev/tty18
crw-rw----    1 root     dialout     4,  19 Apr 27 10:42 /dev/tty19
crw-rw----    1 root     dialout     4,   2 Apr 27 10:42 /dev/tty2
crw-rw----    1 root     dialout     4,  20 Apr 27 10:42 /dev/tty20
crw-rw----    1 root     dialout     4,  21 Apr 27 10:42 /dev/tty21
crw-rw----    1 root     dialout     4,  22 Apr 27 10:42 /dev/tty22
crw-rw----    1 root     dialout     4,  23 Apr 27 10:42 /dev/tty23
crw-rw----    1 root     dialout     4,  24 Apr 27 10:42 /dev/tty24
crw-rw----    1 root     dialout     4,  25 Apr 27 10:42 /dev/tty25
crw-rw----    1 root     dialout     4,  26 Apr 27 10:42 /dev/tty26
crw-rw----    1 root     dialout     4,  27 Apr 27 10:42 /dev/tty27
crw-rw----    1 root     dialout     4,  28 Apr 27 10:42 /dev/tty28
crw-rw----    1 root     dialout     4,  29 Apr 27 10:42 /dev/tty29
crw-rw----    1 root     dialout     4,   3 Apr 27 10:42 /dev/tty3
crw-rw----    1 root     dialout     4,  30 Apr 27 10:42 /dev/tty30
crw-rw----    1 root     dialout     4,  31 Apr 27 10:42 /dev/tty31
crw-rw----    1 root     dialout     4,  32 Apr 27 10:42 /dev/tty32
crw-rw----    1 root     dialout     4,  33 Apr 27 10:42 /dev/tty33
crw-rw----    1 root     dialout     4,  34 Apr 27 10:42 /dev/tty34
crw-rw----    1 root     dialout     4,  35 Apr 27 10:42 /dev/tty35
crw-rw----    1 root     dialout     4,  36 Apr 27 10:42 /dev/tty36
crw-rw----    1 root     dialout     4,  37 Apr 27 10:42 /dev/tty37
crw-rw----    1 root     dialout     4,  38 Apr 27 10:42 /dev/tty38
crw-rw----    1 root     dialout     4,  39 Apr 27 10:42 /dev/tty39
crw-rw----    1 root     dialout     4,   4 Apr 27 10:42 /dev/tty4
crw-rw----    1 root     dialout     4,  40 Apr 27 10:42 /dev/tty40
crw-rw----    1 root     dialout     4,  41 Apr 27 10:42 /dev/tty41
crw-rw----    1 root     dialout     4,  42 Apr 27 10:42 /dev/tty42
crw-rw----    1 root     dialout     4,  43 Apr 27 10:42 /dev/tty43
crw-rw----    1 root     dialout     4,  44 Apr 27 10:42 /dev/tty44
crw-rw----    1 root     dialout     4,  45 Apr 27 10:42 /dev/tty45
crw-rw----    1 root     dialout     4,  46 Apr 27 10:42 /dev/tty46
crw-rw----    1 root     dialout     4,  47 Apr 27 10:42 /dev/tty47
crw-rw----    1 root     dialout     4,  48 Apr 27 10:42 /dev/tty48
crw-rw----    1 root     dialout     4,  49 Apr 27 10:42 /dev/tty49
crw-rw----    1 root     dialout     4,   5 Apr 27 10:42 /dev/tty5
crw-rw----    1 root     dialout     4,  50 Apr 27 10:42 /dev/tty50
crw-rw----    1 root     dialout     4,  51 Apr 27 10:42 /dev/tty51
crw-rw----    1 root     dialout     4,  52 Apr 27 10:42 /dev/tty52
crw-rw----    1 root     dialout     4,  53 Apr 27 10:42 /dev/tty53
crw-rw----    1 root     dialout     4,  54 Apr 27 10:42 /dev/tty54
crw-rw----    1 root     dialout     4,  55 Apr 27 10:42 /dev/tty55
crw-rw----    1 root     dialout     4,  56 Apr 27 10:42 /dev/tty56
crw-rw----    1 root     dialout     4,  57 Apr 27 10:42 /dev/tty57
crw-rw----    1 root     dialout     4,  58 Apr 27 10:42 /dev/tty58
crw-rw----    1 root     dialout     4,  59 Apr 27 10:42 /dev/tty59
crw-rw----    1 root     dialout     4,   6 Apr 27 10:42 /dev/tty6
crw-rw----    1 root     dialout     4,  60 Apr 27 10:42 /dev/tty60
crw-rw----    1 root     dialout     4,  61 Apr 27 10:42 /dev/tty61
crw-rw----    1 root     dialout     4,  62 Apr 27 10:42 /dev/tty62
crw-rw----    1 root     dialout     4,  63 Apr 27 10:42 /dev/tty63
crw-rw----    1 root     dialout     4,   7 Apr 27 10:42 /dev/tty7
crw-rw----    1 root     dialout     4,   8 Apr 27 10:42 /dev/tty8
crw-rw----    1 root     dialout     4,   9 Apr 27 10:42 /dev/tty9
crw-rw----    1 root     dialout     4,  64 Apr 27 10:42 /dev/ttyS0
crw-rw----    1 root     dialout     4,  65 Apr 27 10:42 /dev/ttyS1
crw-rw----    1 root     dialout     4,  74 Apr 27 10:42 /dev/ttyS10
crw-rw----    1 root     dialout     4,  75 Apr 27 10:42 /dev/ttyS11
crw-rw----    1 root     dialout     4,  76 Apr 27 10:42 /dev/ttyS12
crw-rw----    1 root     dialout     4,  77 Apr 27 10:42 /dev/ttyS13
crw-rw----    1 root     dialout     4,  78 Apr 27 10:42 /dev/ttyS14
crw-rw----    1 root     dialout     4,  79 Apr 27 10:42 /dev/ttyS15
crw-rw----    1 root     dialout     4,  66 Apr 27 10:42 /dev/ttyS2
crw-rw----    1 root     dialout     4,  67 Apr 27 10:42 /dev/ttyS3
crw-rw----    1 root     dialout     4,  68 Apr 27 10:42 /dev/ttyS4
crw-rw----    1 root     dialout     4,  69 Apr 27 10:42 /dev/ttyS5
crw-rw----    1 root     dialout     4,  70 Apr 27 10:42 /dev/ttyS6
crw-rw----    1 root     dialout     4,  71 Apr 27 10:42 /dev/ttyS7
crw-rw----    1 root     dialout     4,  72 Apr 27 10:42 /dev/ttyS8
crw-rw----    1 root     dialout     4,  73 Apr 27 10:42 /dev/ttyS9
crw-rw-rw-    1 root     root        1,   9 Apr 27 10:42 /dev/urandom
crw-------    1 root     root        7,   0 Apr 27 10:42 /dev/vcs
crw-------    1 root     root        7,   1 Apr 27 10:42 /dev/vcs1
crw-------    1 root     root        7, 128 Apr 27 10:42 /dev/vcsa
crw-------    1 root     root        7, 129 Apr 27 10:42 /dev/vcsa1
crw-------    1 root     root        7,  64 Apr 27 10:42 /dev/vcsu
crw-------    1 root     root        7,  65 Apr 27 10:42 /dev/vcsu1
crw-------    1 root     root       10, 127 Apr 27 10:42 /dev/vmci
crw-------    1 root     root       10, 126 Apr 27 10:42 /dev/vsock
crw-------    1 root     root      242,   2 Apr 27 10:42 /dev/wwan0at0
crw-------    1 root     root      242,   1 Apr 27 10:42 /dev/wwan0mbim0
crw-------    1 root     root      242,   0 Apr 27 10:42 /dev/wwan0qcdm0
crw-rw-rw-    1 root     root        1,   5 Apr 27 10:42 /dev/zero

/dev/bus:
drwxr-xr-x    3 root     root            60 Apr 27 10:42 .
drwxr-xr-x    6 root     root          2720 Apr 27 10:42 ..
drwxr-xr-x   10 root     root           200 Apr 27 10:42 usb

/dev/cpu:
drwxr-xr-x    3 root     root            60 Apr 27 10:42 .
drwxr-xr-x    6 root     root          2720 Apr 27 10:42 ..
drwxr-xr-x    2 root     root            80 Apr 27 10:42 0

/dev/dri:
drwxr-xr-x    2 root     root            60 Apr 27 10:42 .
drwxr-xr-x    6 root     root          2720 Apr 27 10:42 ..
crw-------    1 root     root      226,   0 Apr 27 10:42 card0

/dev/pts:
drwxr-xr-x    2 root     root             0 Apr 27 10:42 .
drwxr-xr-x    6 root     root          2720 Apr 27 10:42 ..
crw--w--w-    1 root     root      136,   0 Apr 27 10:51 0
c---------    1 root     root        5,   2 Apr 27 10:42 ptmx

@4IceG
Copy link
Owner Author

4IceG commented Apr 27, 2024

@SuperMitic

If I disable modemmanager, then sms_tool receive answer from AT command, but internet is not working.

I don't use MM, so I may be wrong.

Doesn't MM create its interface using hotplug..? I don't know if it's possible to "unplug" this interface from MM.
By removing /etc/hotplug.d/tty/25-modemmanager-tty or a similar file..

You've probably already tried methods from net.
How to enable AT commands of Foxconn T99W175 5G WWAN
Snapdragon X55 / T99W175 discussion
Modem Qualcomm X55 T99W175 5G)

@SuperMitic
Copy link

@SuperMitic

If I disable modemmanager, then sms_tool receive answer from AT command, but internet is not working.

I don't use MM, so I may be wrong.

Doesn't MM create its interface using hotplug..? I don't know if it's possible to "unplug" this interface from MM. By removing /etc/hotplug.d/tty/25-modemmanager-tty or a similar file..

You've probably already tried methods from net. How to enable AT commands of Foxconn T99W175 5G WWAN Snapdragon X55 / T99W175 discussion Modem Qualcomm X55 T99W175 5G)

The problem is that ModemManager take the wwan0at0 port for itself. qmicli and mbimcli are able to contact the modem using --device-open-proxy. I don't know if you can implement a similar feature in sms_tool

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants