There are two known parts of code that may have problem and need
comments. 1. Once connecting this modem to PC via USB, we can get 5 tty
ports: ttyUSB0, ttyUSB1, ttyUSB2, ttyUSB3 and ttyUSB4. The correct way to
talk to this modem is using ttyUSB2. I'm not sure if I handled this
correctly in file udev.c. 2. When creating the modem, a global modem id
So Andrew had it exactly correct, you can't just use ttyUSB2 here. Most
devices have other udev attributes you can examine for what type of port it
is, to help you pick the right one. Perhaps examination of 'udevadm info --
attribute-walk --path=<device>' might be in order?
will be appended to the name of it while constructing the path. This
has name "huawei_em770", thus the path becomes things like
"/huawei_em7700" or "/huawei_em7701". This looks strange. Need I
the name of this modem, or can we use some smarter way to append the modem
We should be using the udev short serial from the device. For some reason
this seems to be failing on the EM770. Can you check whether get_serial
returns NULL for this device?