Subsurface Mobile: Adding mares USB (cp210x) support; how to proceed

Dirk Hohndel dirk at hohndel.org
Fri Mar 6 14:32:08 PST 2020


(oops. I dropped the mailing list by mistake)

> On Mar 6, 2020, at 2:12 PM, Christof Arnosti <charno at charno.ch> wrote:
> Am 06.03.20 um 22:59 schrieb Dirk Hohndel:
>> 
>> 
>>> On Mar 6, 2020, at 1:54 PM, Christof Arnosti <charno at charno.ch <mailto:charno at charno.ch>> wrote:
>>>> No popup at all as no one has that PID/VID registered. I can simply
>>>> add the PID/VID and see if it works. I'll play with that later today.
>>> 
>>> Also try to register the different driver classes in
>>> https://github.com/charno/subsurface/blob/android-serial-clean/android-mobile/src/org/subsurfacedivelog/mobile/AndroidSerial.java#L92 <https://github.com/charno/subsurface/blob/android-serial-clean/android-mobile/src/org/subsurfacedivelog/mobile/AndroidSerial.java#L92>.
>>> The classes can be found at
>>> https://github.com/mik3y/usb-serial-for-android/tree/master/usbSerialForAndroid/src/main/java/com/hoho/android/usbserial/driver <https://github.com/mik3y/usb-serial-for-android/tree/master/usbSerialForAndroid/src/main/java/com/hoho/android/usbserial/driver>.
>> 
>> ok
>> 
>>>>> Can you maybe plug your Mares Icon HD into a computer and give me some
>>>>> lsusb and dmesg-output so I can try to guess which vid/pid and driver is
>>>>> used?
>>>> VID/PID is 0xFFFF/0x0005:
>>>> 
>>>> 03-06 13:39:52.669  1342  1869 D UsbHostManager: USB device attached: vidpid ffff:0005 mfg/product/ver/serial SERUSB/USBSerial/1.00/01234567 hasAudio/HID/Storage: false/false/false
>>>> 03-06 13:39:52.673  1342  1869 D UsbDeviceDescriptor:   1 configs
>>>> 03-06 13:39:52.674  1342  1869 D UsbHostManager: Added device UsbDevice[mName=/dev/bus/usb/001/002,mVendorId=65535,mProductId=5,mClass=2,mSubclass=0,mProtocol=0,mManufacturerName=SERUSB,mProductName=USBSerial,mVersion=1.00,mSerialNumberReader=com.android.server.usb.UsbSerialReader at 9967699,mConfigurations=[
>>>> 03-06 13:39:52.674  1342  1869 D UsbHostManager: UsbConfiguration[mId=2,mName=null,mAttributes=192,mMaxPower=250,mInterfaces=[
>>>> 03-06 13:39:52.674  1342  1869 D UsbHostManager: UsbInterface[mId=0,mAlternateSetting=0,mName=null,mClass=2,mSubclass=2,mProtocol=0,mEndpoints=[
>>>> 03-06 13:39:52.674  1342  1869 D UsbHostManager: UsbEndpoint[mAddress=130,mAttributes=3,mMaxPacketSize=8,mInterval=10]]
>>>> 03-06 13:39:52.674  1342  1869 D UsbHostManager: UsbInterface[mId=1,mAlternateSetting=0,mName=null,mClass=10,mSubclass=0,mProtocol=0,mEndpoints=[
>>>> 03-06 13:39:52.674  1342  1869 D UsbHostManager: UsbEndpoint[mAddress=1,mAttributes=2,mMaxPacketSize=64,mInterval=0]
>>>> 03-06 13:39:52.674  1342  1869 D UsbHostManager: UsbEndpoint[mAddress=129,mAttributes=2,mMaxPacketSize=64,mInterval=0]]]]
>>>> 
>>>> 
>>>> (this is adb logcat over tcp of plugging the Icon HD into my Android phone)
>>> If you have a linux computer at hand I would be interested which driver
>>> is used by the kernel. This might give some insight if it's implemented
>>> in usb-serial-for-android and just not registred, or if the driver is
>>> missing.
>> 
>> [2382095.960170] usb 2-1.2: new full-speed USB device number 4 using ehci-pci
>> [2382096.041381] usb 2-1.2: New USB device found, idVendor=ffff, idProduct=0005, bcdDevice= 1.00
>> [2382096.041388] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
>> [2382096.041392] usb 2-1.2: Product: USBSerial
>> [2382096.041395] usb 2-1.2: Manufacturer: SERUSB
>> [2382096.041398] usb 2-1.2: SerialNumber: 01234567
>> [2382096.089122] cdc_acm 2-1.2:2.0: ttyACM0: USB ACM device
>> [2382096.089748] usbcore: registered new interface driver cdc_acm
>> [2382096.089750] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
>> 
>> This is from a Linux laptop
> There is a driver with CdcAcmSerialDriver in usb-serial-for-android!
> 
> That's exactly the use case I had in mind when I proposed driverclass-selection in the UI ;-)
> 

I understand - but Subsurface-mobile would never ever get access to this if we don't claim the PID/VID correct?
That's been my point here... even if you add that driverclass... how would Subsurface-mobile get access to that device in the first place?
Maybe I'm just misunderstanding how this is supposed to work.

/D


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20200306/6b0d33ca/attachment.html>


More information about the subsurface mailing list