androidclinuxbeagleboardusb-modeswitch

USB Dongle Recognition in Android - Beaglebone


Issue :

Some of the Huawei USB Dongles not recognized by Android JellyBean4.1.2 in Beaglebone.

In Detail :

I am working with BeagleBone running on Android JellyBean4.1.2 .

Huawei - E1731 [Locked] , Huawei - E303D [Locked] are working fine in this platform.

Huawei E303F , Huawei E303F (Both Factory Unlocked) are not recognized by the OS (Communication files not generated)

Work-Around done by myself

  1. Change the Dongle's Mode to Modem Only Mode using AT command

enter image description here

  1. Add the vendor ID & Product ID to init.devicename.sh (Force the kernal to recognize the USB Dongle)

enter image description here

  1. Change the USB-Modeswitch File with VID & PID

enter image description here

Now the mentioned USB Dongles are working fine .

enter image description here

UPDATE

As skoperst said , i have checked option.c in kernel_dir/drivers/usb/serial/option.c

enter image description here

Your great suggestions appreciated . Lot of thanks in advance.


Solution

  • Your issue is with the kernel running on the device you use and not about the Android OS.

    Which USB device are supported(I.E. which combination of vid/pid) depends on which sets are defined in the kernel, its hard-coded.

    Specifically you need USB serial device definition(AKA ttyUSB) for you specific VID&PID and they are usually located in: kernel_dir/drivers/usb/serial/option.c That's also true for any other driver you wish the device will recognize.