Just stabbing in the dark here, but can you figure out what usbmodeswitch actually causes the kernel to do, and then make your modem driver module cause that itself?
Assuming of course that you can figure out how to make the modem driver module claim the cdrom-mode version of the device, before some mass storage or cd builtin driver grabs it. It seems to me that what those desktop linux userspace mechansisms are really doing is providing a means of telling the kernel to do some simple operation on a specific usb device - but there are less general purpose ways of telling the kernel to do stuff - like building it into your driver, or building a driver that just pushes the right internal kernel buttons when insmoded, or making a control device file and calling an ioctl on it, or... I would assume you could probably also set the configs to build udev and various other full-featured linux bits perhaps? not used in android (phone) kernels - but I suppose there might be compatibility problems with android style power management or something. On Sep 22, 1:01 am, tarikk <tarik....@gmail.com> wrote: > Im dealing with a USB 3G Modem that has a flip-flop/Zero-CD mode. Its > showing me the device as a scsi cdrom but it should show 4 usb ports. > > How do i change the devices mode? Normally we'd use USB_modeswitch but > i dont think thats possible since there is no udev or libusb > (..normally) and other things that usbmodeswitch needs. > > Does the android kernel use anything similar to udev? > > Thanks people! -- unsubscribe: android-porting+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-porting