View previous topic :: View next topic |
Author |
Message |
szatox Advocate
Joined: 27 Aug 2013 Posts: 3373
|
Posted: Wed Oct 16, 2024 7:53 pm Post subject: Trying to make sense of builtin modem's interfaces |
|
|
Long story short, I want to make voice calls with a builtin modem, and the conventional wisdom of "use ttyUSB0 to initiate call, and play sound from data incomming on ttyUSB1" doesn't work; most likely because it's an mbim modem and not an emulated analogue.
So, I'm currently trying to understand what am I even working with. THIS seems to be relevant, but doesn't really tells me what to do next.
I can make and answer voice calls using modemmanager or gnome-calls.
I wasn't able to connect audio streams to mic/speakers. I currently don't know why: I'm on pipewire, gnome-calls attempts to use pulseaudio interface I've never tested before, and callaudiod is doing some stupid things, so it might very well be the culprit, but I'll be happy to use an shell script with ffmpeg instead, so didn't debug this part very hard for now.
This Fibocom has 4 interfaces (details will come later)
1.0 using driver cdc-mbim, connected to "usbmisc" /dev/cdc-wdm0. wwan0 uses this interface (fuser reports mbim_proxy talking to this device)
1.1 using driver cdc_mbim
1.2 using driver cdc_acm, connected to terminal /dev/ttyACM0 (fuser reports ModemManager)
1.3 using driver cdc_acm
I couldn't figure out what uses the odd interfaces.
Funny thing, I tried opening both terminals with screen; ttyACM0 prints some probably stats every second, and cdc-wdm0 instantly closes screen.
I think I should be able to get modemmanager to hand me audio streams in some way, but I don't really know what to look for.
At this stage I can't really make a coherent question, so just give me your thoughts. Anything you think might help.
Code: | # lsusb -v
Bus 001 Device 057: ID 2cb7:0210 Fibocom L830-EB-00 LTE WWAN Modem
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 [unknown]
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x2cb7 Fibocom
idProduct 0x0210 L830-EB-00 LTE WWAN Modem
bcdDevice 3.33
iManufacturer 1 FIBOCOM
iProduct 2 L830-EB
iSerial 3 xxxxxxxxxxxxxx
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x00a1
bNumInterfaces 4
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 100mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
bFunctionClass 2 Communications
bFunctionSubClass 14 [unknown]
bFunctionProtocol 0
iFunction 4 Fibocom L830-EB
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 14 [unknown]
bInterfaceProtocol 0
iInterface 5 Fibocom L830-EB
CDC Header:
bcdCDC 1.20
CDC Union:
bMasterInterface 0
bSlaveInterface 1
CDC MBIM:
bcdMBIMVersion 1.00
wMaxControlMessage 512
bNumberFilters 32
bMaxFilterSize 192
wMaxSegmentSize 1500
bmNetworkCapabilities 0x00
CDC MBIM Extended:
bcdMBIMExtendedVersion 1.00
bMaxOutstandingCommandMessages 1
wMTU 1500
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 [unknown]
bInterfaceProtocol 2
iInterface 6 Data (OFF)
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 [unknown]
bInterfaceProtocol 2
iInterface 7 Data (ON)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 2
bInterfaceCount 2
bFunctionClass 2 Communications
bFunctionSubClass 2 Abstract (modem)
bFunctionProtocol 0
iFunction 8 Fibocom L830-EB
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 0
iInterface 9 Fibocom L830-EB
CDC Header:
bcdCDC 1.20
CDC Union:
bMasterInterface 2
bSlaveInterface 3
CDC Call Management:
bmCapabilities 0x00
bDataInterface 3
CDC ACM:
bmCapabilities 0x07
sends break
line coding and serial state
get/set/clear comm features
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 [unknown]
bInterfaceProtocol 0
iInterface 10 Data
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 [unknown]
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0001
Self Powered
|
_________________ Make Computing Fun Again |
|
Back to top |
|
|
gentoo_ram Guru
Joined: 25 Oct 2007 Posts: 500 Location: San Diego, California USA
|
Posted: Wed Oct 16, 2024 11:04 pm Post subject: |
|
|
The cellular modules I've seen that support voice calls also enumerate USB-Audio devices. One for Headphone and one for Mic. That's what I've seen from modules based on Qualcomm chipsets. Maybe this one only really supports data calls. |
|
Back to top |
|
|
szatox Advocate
Joined: 27 Aug 2013 Posts: 3373
|
Posted: Wed Oct 16, 2024 11:38 pm Post subject: |
|
|
I know data-only modems exist, but if that was the case, shouldn't it be unavailable for voice calls on PSTN side?
Well, it is worth verifying, I'll look into that. I don't recall my Huawei modems showing up this way though, and I know they were voice-enabled. They even came with a dialler (for windows, obviously) on a builtin virtual cdrom.
Those were emulated analogue modems though, so showed up with 3 tty interfaces, which brings us back the conventional wisdom I mentioned at the very beginning, making it out of scope here. I'll consider it a plan C
Gotta compare it with a pinephone modem too. Definitely a voice-enabled one. _________________ Make Computing Fun Again |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|