aroerina / DroidOscillo-Android_host

DroidOscillo host application for Android
58 stars 14 forks source link

接続に失敗する: Nexus 5X/7.1.1 #1

Open edy555 opened 7 years ago

edy555 commented 7 years ago

環境

ケーブルを接続しても動作しない場合が多い

参考動画:https://youtu.be/Nga6HeOjCXk

2回に1度程度認識しないことが多い。成功失敗が交互に現れる。認識しないときもう一度繰り返すと動作開始する場合が多い。これはアプリ起動前、そして起動後においてもほぼ同様。

アプリが自動起動に成功したときはほぼ正常動作に達する。

動画には無いが、アプリが自動起動し、緑の接続アイコンが出てもFPSが0のまま輝線が出ないことがある。この時はAuto Setを押すと正常動作を開始する。

接続しても認識しない(未接続アイコンのまま)とき、この状態で何か操作(例えばAuto Setを押す)をしてしまうと、その後、接続&認識成功して緑アイコンが出ても、動作しない(輝線が出ない、FPSが0のまま)。Auto Setを押しても動作開始しない。一度こうなるとアプリをタスクリストから消去して、アプリを立ち上げ直さないとならない。

aroerina commented 7 years ago

動画拝見したしました…これはひどいですね。原因はまだちょっとわからないです…ごめんなさい でも必ず直します

edy555 commented 7 years ago

アップデートありがとうございます。1.2.1にアップデートしたところ、未接続状態で一度ボタンを触ってしまうと以後まったくダメになる症状は改善され、ちゃんと再接続で動作するようになりました。

一方、リリースのご説明の通りではありますが、何度か繋ぎ直さないと認識しない件は変化なしでした。 tcpip経由のlogcatを確認してみたところ、USBの接続Intentが確かに上がって来ていないようです。

一応ログ取れたので貼っときます。

挿しても無反応

03-08 11:22:31.458 4473-4537/? I/UsbPortManager: USB port changed: port=UsbPort{id=otg_default, supportedModes=dual}, status=UsbPortStatus{connected=true, currentMode=dfp, currentPowerRole=source, currentDataRole=host, supportedRoleCombinations=[source:host, sink:device]}, canChangeMode=true, canChangePowerRole=false, canChangeDataRole=false

一度抜く

03-08 11:22:37.550 4473-4537/? I/UsbPortManager: USB port changed: port=UsbPort{id=otg_default, supportedModes=dual}, status=UsbPortStatus{connected=false, currentMode=none, currentPowerRole=no-power, currentDataRole=no-data, supportedRoleCombinations=[no-power:no-data]}, canChangeMode=true, canChangePowerRole=false, canChangeDataRole=false

もう一度挿すと無事動作開始

03-08 11:22:41.941 4473-4537/? I/UsbPortManager: USB port changed: port=UsbPort{id=otg_default, supportedModes=dual}, status=UsbPortStatus{connected=true, currentMode=dfp, currentPowerRole=source, currentDataRole=host, supportedRoleCombinations=[source:host, sink:device]}, canChangeMode=true, canChangePowerRole=false, canChangeDataRole=false
03-08 11:22:42.372 4473-5772/? D/UsbHostManager: Added device UsbDevice[mName=/dev/bus/usb/001/002,mVendorId=8137,mProductId=33128,mClass=0,mSubclass=0,mProtocol=0,mManufacturerName=LimePulse,mProductName=DroidOscillo,mVersion=2.0,mSerialNumber=0000,mConfigurations=[
                                                 UsbConfiguration[mId=1,mName=null,mAttributes=192,mMaxPower=50,mInterfaces=[
                                                 UsbInterface[mId=0,mAlternateSetting=0,mName=HID,mClass=3,mSubclass=0,mProtocol=0,mEndpoints=[
                                                 UsbEndpoint[mAddress=129,mAttributes=2,mMaxPacketSize=512,mInterval=4]
                                                 UsbEndpoint[mAddress=1,mAttributes=3,mMaxPacketSize=16,mInterval=4]
                                                 UsbEndpoint[mAddress=2,mAttributes=2,mMaxPacketSize=512,mInterval=8]]]]
03-08 11:22:42.373 4473-5772/? W/ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:877 com.android.server.usb.UsbSettingsManager.deviceAttached:739 com.android.server.usb.UsbHostManager.endUsbDeviceAdded:225 com.android.server.usb.UsbHostManager.monitorUsbHostBus:-2 com.android.server.usb.UsbHostManager.-wrap0:-1 
03-08 11:22:42.449 4473-5772/? I/ActivityManager: START u0 {act=android.hardware.usb.action.USB_DEVICE_ATTACHED flg=0x10000000 cmp=jp.limepulse.USBOscilloscopeHost/.USBOscilloscopeHost (has extras)} from uid 1000 on display 0
03-08 11:22:42.480 4473-19137/? I/ActivityManager: Start proc 12462:jp.limepulse.USBOscilloscopeHost/u0a129 for activity jp.limepulse.USBOscilloscopeHost/.USBOscilloscopeHost
...

最後に抜いた

03-08 11:27:32.612 12462-12481/? D/UsbRequestJNI: close
03-08 11:27:32.614 4473-5772/? I/UsbAlsaManager: USB Audio Device Removed: null
03-08 11:27:32.635 12462-12462/? I/USBOscilloscopeHost: device disconnected
03-08 11:27:32.642 4473-4537/? I/UsbPortManager: USB port changed: port=UsbPort{id=otg_default, supportedModes=dual}, status=UsbPortStatus{connected=false, currentMode=none, currentPowerRole=no-power, currentDataRole=no-data, supportedRoleCombinations=[no-power:no-data]}, canChangeMode=true, canChangePowerRole=false, canChangeDataRole=false
aroerina commented 7 years ago

接続インテントが飛ばない問題、Micro Bの機種しか持ってないのですがまだこのタイプのトラブルを確認したこと無いのでタイプC機器特有の問題かも知れません

edy555 commented 7 years ago

アップデートご苦労様です。着実に改善が進んでいるようですね。 このissueですが、1.2.4でどうかなと試してみましたが、残念ながら挙動に変化ありませんでした。 ただ、次の再接続で確実に動作成功するので、使用には問題ないレベルになっていると思います。 一応ご報告でした。