chrulri/droidtv — Issue #1: Exception when running wscan binary
Author: Jeromagic
Created: 2012-02-15 14:10:44+00:00
State: open

Hello,

I'm currently working on an ICS prototype and I tried to use DroidTV with a Dibcom USB dongle.
Unfortunately the DVB scan operation fails with an error message.
The same error message can be found through logcat, there it is:
------------------
E/com.chrulri.droidtv.ScanActivity( 740): wscan
E/com.chrulri.droidtv.ScanActivity( 740): java.io.IOException: Error running exec(). Command: [/data/data/com.chrulri.droidtv/cache/7f040000.bin, -f, t, -c,
FR, -X] Working Directory: null Environment: null
E/com.chrulri.droidtv.ScanActivity( 740): at java.lang.ProcessManager.exec(ProcessManager.java:211)
E/com.chrulri.droidtv.ScanActivity( 740): at java.lang.Runtime.exec(Runtime.java:168)
E/com.chrulri.droidtv.ScanActivity( 740): at java.lang.Runtime.exec(Runtime.java:123)
E/com.chrulri.droidtv.ScanActivity( 740): at com.chrulri.droidtv.Utils$ProcessUtils.run(Utils.java:143)
E/com.chrulri.droidtv.ScanActivity( 740): at com.chrulri.droidtv.Utils.runBinary(Utils.java:237)
E/com.chrulri.droidtv.ScanActivity( 740): at com.chrulri.droidtv.ScanActivity$AsyncScanTask.doInBackground(ScanActivity.java:364)
E/com.chrulri.droidtv.ScanActivity( 740): at com.chrulri.droidtv.ScanActivity$AsyncScanTask.doInBackground(ScanActivity.java:1)
E/com.chrulri.droidtv.ScanActivity( 740): at android.os.AsyncTask$2.call(AsyncTask.java:264)
E/com.chrulri.droidtv.ScanActivity( 740): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
E/com.chrulri.droidtv.ScanActivity( 740): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
E/com.chrulri.droidtv.ScanActivity( 740): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
E/com.chrulri.droidtv.ScanActivity( 740): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
E/com.chrulri.droidtv.ScanActivity( 740): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
E/com.chrulri.droidtv.ScanActivity( 740): at java.lang.Thread.run(Thread.java:856)
E/com.chrulri.droidtv.ScanActivity( 740): Caused by: java.io.IOException: No such file or directory
E/com.chrulri.droidtv.ScanActivity( 740): at java.lang.ProcessManager.exec(Native Method)
E/com.chrulri.droidtv.ScanActivity( 740): at java.lang.ProcessManager.exec(ProcessManager.java:209)
E/com.chrulri.droidtv.ScanActivity( 740): ... 13 more
-------------------------------

I also tried running the 7f040000.bin binary directly from command line but this failed with:
sh: /data/data/com.chrulri.droidtv/cache/7f040000.bin: No such file or directory

I also tried pushing the "source" binary (from [DroidTV sources]/res/raw/wscan_20110206.bin but got the same "no such file or directory".

My USB dongle seems to be correctly handled on kernel size, here is the message I get when plugging it in:
--------------------------
<6>[ 66.714019] usb 1-1: new high speed USB device number 2 using musb-hdrc
<3>[ 66.871276] usb 1-1: device v10b8 p1e80 is not supported
<6>[ 66.877136] usb 1-1: New USB device found, idVendor=10b8, idProduct=1e80
<6>[ 66.884552] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
<6>[ 66.892425] usb 1-1: Product: STK7770P_v3-0
<6>[ 66.897705] usb 1-1: Manufacturer: DiBcom
<6>[ 66.902038] usb 1-1: SerialNumber: 022
<6>[ 66.920074] dvb-usb: found a 'DiBcom STK7770P reference design' in cold state, will try to load a firmware
<6>[ 66.944763] dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.20.fw'
<6>[ 67.026672] dib0700: firmware started successfully.
<6>[ 67.535400] dvb-usb: found a 'DiBcom STK7770P reference design' in warm state.
<6>[ 67.549407] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
<6>[ 67.559539] DVB: registering new adapter (DiBcom STK7770P reference design)
<4>[ 67.855590] DVB: registering adapter 0 frontend 0 (DiBcom 7000PC)...
<6>[ 68.111572] DiB0070: successfully identified
<6>[ 68.116485] Registered IR keymap rc-dib0700-rc5
<6>[ 68.129486] input: IR-receiver inside an USB DVB receiver as /devices/platform/omap/musb-omap2430/musb-hdrc
/usb1/1-1/rc/rc0/input6
<6>[ 68.145629] rc0: IR-receiver inside an USB DVB receiver as /devices/platform/omap/musb-omap2430/musb-hdrc/u
sb1/1-1/rc/rc0
<6>[ 68.161132] dvb-usb: schedule remote query interval to 50 msecs.
<6>[ 68.174987] dvb-usb: DiBcom STK7770P reference design successfully initialized and connected.
-----------------------------

And here are the generated devices (if I lack one, that could explain the "no such file or directory"):
-------------------
shell@android:/ # ll /dev/dvb*
crw-rw-rw- root root 212, 4 2012-02-15 14:55 dvb0.demux0
crw-rw-rw- root root 212, 5 2012-02-15 14:55 dvb0.dvr0
crw-rw-rw- root root 212, 3 2012-02-15 14:55 dvb0.frontend0
crw-rw-rw- root root 212, 7 2012-02-15 14:55 dvb0.net0
-------------------

Unfortunately, I couldn't find any source code for the wscan binary, so I'm a bit stuck in my investigations...