USBハブからUSBデバイスをすばやく接続および切断すると、Androidで奇妙な動作が発生します。ハブからデバイスをすばやく接続/分離した後、次の現象が発生し始めます。
<6>[18121.010764] usb 2-1: new low speed USB device number 8 using tegra-ehci
<3>[18121.253237] hub 2-0:1.0: cannot reset port 1 (err = -110)
<3>[18121.478006] hub 2-0:1.0: cannot reset port 1 (err = -110)
<3>[18121.702795] hub 2-0:1.0: cannot reset port 1 (err = -110)
<3>[18121.927899] hub 2-0:1.0: cannot reset port 1 (err = -110)
<3>[18122.153156] hub 2-0:1.0: cannot reset port 1 (err = -110)
<3>[18122.153272] hub 2-0:1.0: Cannot enable port 1. Maybe the USB cable is bad?
<3>[18122.378371] hub 2-0:1.0: cannot reset port 1 (err = -110)
<3>[18122.603889] hub 2-0:1.0: cannot reset port 1 (err = -110)
その後、ハブ自体を引き抜くか再接続するまで、ハブに接続したものは機能しませんでした。
USBDEVFS_RESETを使用してioctlを送信することで、この無応答問題を解決できました。残念ながら、ルートアクセスが必要です。そうですか?
root権限なしでこの問題を解決する他の方法はありますか?
答え1
USBDEVFS_RESETを使用してioctlを送信することで、この無応答問題を解決できました。残念ながら、ルートアクセスが必要です。そうですか?
おそらく。
root権限なしでこの問題を解決する他の方法はありますか?
さて、あなたがsendのためのあなたのアプリケーションを書いたらioctl
、それが誰が実行されているかにかかわらず、常にroot権限で実行されるようにsetuid rootに設定できます。