Есть плата imx53, к которой хочется подключить USB 3G модем huawei. Застрял на первом же шаге, когда модем определяется как CD-ROM и его нужно перевести в режим модема. Ядро и файловую систему пересобираю на скачанной с ftp виртуальной машине (buildroot 2011.08). Моя последовательность действий:
1) Просто включаю в buildroot галку usb_modeswitch. На плате при подключении модема вижу:
lsusb видит его как
пробую usb_modeswitch:
То есть по каким-то причинам он не не находит устройство для переключения.
2) Обновляю в buildroot'е usb_modeswitch + usb_modeswitch_data до последней версии, на плате получаю:
Предполагаю что и в старой и в новой версии usb_modeswitch ему чего-то не хватает в ядре или библиотеках для работы, но в упор не могу понять чего.
то, что модем видится, как масс-сторадж - это нормально..
у меня подобным образом видится модет от МТС (то же хуавей) - на этот драйв забрасываются драйвера и софт управления..
посмотрите - может вашему модему требуется бинарник фирмваре - в логах что-нить видно? или в ядре что-то недовключили..
может поддержка конкретно "хуавей в юсб сериал", может что-то подобное..
Я предполагаю что пока модем в режиме mass storage ему не важно что там с usb_serial, но конечно USB_SERIAL_GENERIC и USB_SERIAL_OPTION для модемов в ядре включены.
На PC этот же модем нормально переключается как какой-то из старых версий usb_modeswitch, так и последней 2.2.0
Порты не создаются, я и застрял именно на переводе модема из режима "CD-ROM" в режим "модем". Для этих целей и планировалось воспользоваться всеми советуемой утилитой usb_modeswitch, которая однако не видит устройства которое нужно переключить, хотя по всем признакам оно есть.
на третьей странице вышеприведенной ссылки есть цитата:
у вас существует этот файл для udev из пункта 1?
и второй с откорректированными под себя Ven:Prod?
и еще, у вас случайно udev не статиком задан в билдруте? может попробовать руками прописать через mknod ttyUSB0?
Первый файл нужен только для автоматизации запуска usb_modeswitch при подключении устройства с заданным VID/PID, до этого пока еще не дошло. Второй тоже служит только для автоматического хранения настроек и его наличие ничем не отличается от того, что я передаю те же параметры напрямую. Вообще при моем вызове usb_modeswitch он выдает в логе вначале:
DefaultVendor= 0x12d1
DefaultProduct= 0x1505
То есть он знает какие id он должен искать, с этим никаких проблем, нигде дополнительно их указывать необязательно.
/dev management установлен в Dynamic using udev и другие устройства, например USB GPS приемник, без проблем появляются в /dev/ttyUSB*
в упор не вижу - где у вас в параметрах передается что-то кроме vid/pid
если что - это через параметр -M передается
кстати насчет этого
помоему надо монтировать usbfs в proc на старых ядрах или это из-за старого usb_modeswitch (более вероятно) - не помню, вроде пока я не прописал у себя в /etc/fstab - не работало.
или попробуйте вручную смонтировать перед запуском usb_modeswitch
mount -t usbfs usbfs /proc/bus/usb
Посмотрите еще в ядре через menuconfig есть ли поддержка
Device Drivers --->
[*] USB support --->
[*] USB device filesystem (DEPRECATED)