AT+ECM for connection management, QNCM rx_framing and le16 length prefixed IP tx_framing

Julio Araujo julio.araujo at
Mon Mar 24 04:05:57 PDT 2014

Hi Bjørn,

Sorry for the delayed answer, but I'm very very glad to inform you that 
the modem worked after the last configuration that you sent to me:
# Olivetti Olicard 500

DefaultVendor= 0x0b3c
DefaultProduct= 0xf017

TargetVendor=  0x0b3c
TargetProduct= 0xc00b


The only thing that I need to do was remove the PPP that it was already 
installed for the other modem that I was using before and then after 
plug the Olicard 500 the Ubuntu asked me to create a new PPP and then 
after create it everything works fine.

I'm sending attached  to you the syslog file and also usb_modeswitch_1-13.

Thanks a lot, for you help.

My kind regards,
Julio Araujo

Em 22-03-2014 15:27, Bjørn Mork escreveu:
> Bjørn Mork <bjorn at> writes:
>> And I wonder if this modem maybe speaks QMI and
>> can be configured for an already known framing that way.  Better have
>> that checked out first I guess.
> Stupid me.  The dump was full of QMI as well.  I just missed them
> because I was trusting that Ilya's wireshark dissector would identify
> them for me.  But it didn't because it is tuned for usbmon dumps, not
> for usbpcap dumps.
> The QMI commands showed up fine after changing local_off from 64 (usbmon
> URB header) to 28 (usbpcap USB header) in the dissector.
> So this is definitely a QMI device, although the Windows driver use it
> in a strange way.  The connection is managed with the AT+ECM command,
> but some properties are still set up using QMI.  There are also WDS
> commands in the dump, like for example "Set IP Family Preference".  The
> odd framing is probably what's configured using service 0x1a.
> I assume all this is optional and that we can let qmi_wwan and MM handle
> it as any other QMI deivce. Let's start there in any case.
> Bjørn
-------------- next part --------------

USB_ModeSwitch log from Mon Mar  24 07:59:45 BRT 2014

Use global config file: /etc/usb_modeswitch.conf

Started via upstart
Raw args from udev: /1-1.3

Use top device dir /sys/bus/usb/devices/1-1.3
Check class of first interface ...
 Device is in install mode.
Use interface 1.0

USB values from sysfs:
  manufacturer	USBModem
  product	Olicard 500
bNumConfigurations is 1 - don't check for active configuration
Found packed config collection /usr/share/usb_modeswitch/configPack.tar.gz
SCSI attributes not needed, move on
Check config: pack/0b3c:f017
! matched. Read config data
Extract config 0b3c:f017 from collection /usr/share/usb_modeswitch/configPack.tar.gz
config: TargetVendor set to 0b3c
config: TargetProduct set to c00b
Driver module is "option", ID path is /sys/bus/usb-serial/drivers/option1

Command to be run:
usb_modeswitch -W -D -s 20 -u -1 -b 1 -g 12 -v 0b3c -p f017 -f $configBuffer

Verbose debug output of usb_modeswitch and libusb follows
(Note that some USB errors are to be expected in the process)

Read long config from command line

 * usb_modeswitch: handle USB devices with multiple modes
 * Version 2.1.0 (C) Josua Dietze 2013
 * Based on libusb1/libusbx


DefaultVendor=  0x0b3c
DefaultProduct= 0xf017
TargetVendor=   0x0b3c
TargetProduct=  0xc00b
Success check enabled, max. wait time 20 seconds
System integration mode enabled

Use given bus/device number: 001/012 ...
Look for default devices ...
 bus/device number matched
  found USB ID 0b3c:f017
   vendor ID matched
   product ID matched
 Found devices in default mode (1)
Skip the check for the current configuration
Use interface number 0
Use endpoints 0x01 (out) and 0x81 (in)

USB description data (for identification)
Manufacturer: USBModem
     Product: Olicard 500
  Serial No.: not provided
Looking for active driver ...
 OK, driver detached
Set up interface 0
Use endpoint 0x01 for message sending ...
Trying to send message 1 to endpoint 0x01 ...
 OK, message successfully sent
Read the response to message 1 (CSW) ...
 Response successfully read (13 bytes).
Reset response endpoint 0x81
Reset message endpoint 0x01
Bus/dev search active, refer success check to wrapper. Bye!

(end of usb_modeswitch output)

Check success of mode switch for max. 20 seconds ...
 Wait for device file system (1 sec.) ...
 Wait for device file system (2 sec.) ...
 Wait for device file system (3 sec.) ...
 Read attributes ...
 All attributes matched
Mode switching was successful, found 0b3c:c00b (USBModem: Olicard 500)
Logger is /usr/bin/logger
Now check for bound driver ...
 driver has bound, device is known
Check for AVOID_RESET_QUIRK kernel attribute

All done, exit

-------------- next part --------------
A non-text attachment was scrubbed...
Name: syslog.ok.log
Type: text/x-log
Size: 14370 bytes
Desc: not available
URL: <>

More information about the ModemManager-devel mailing list