Search code examples
androideclipsedriverdetectiontablet

Issue with tablet detection Synchro Digital


My colleague and I have to develop and implement an application on an Android tablet for a company. We started and almost completed the development of the application in question using the Eclipse AVD (we hadn't recieved the tablet yet) and it works perfectly.

We received the tablet on which the application must be installed, the model: SynchroDigital INOSOP10-4.0 RES, 10" with ICS, less than 100 €, the really cheap one.

Our problem: my PC doesn't recognize the tablet (WIN7, unable to install drivers when connecting, although I've already successfully developed on Galaxy S and Galaxy Tab). I have access to the storage space when I activate mass storage but it is not recognized as a tablet, therefore it can't compile directly from Eclipse, nothing appears in the device list.

Enabling USB debugging doesn't change anything.
No activity in the logcat when connecting the tablet.
In device management, I find the tablet under Other Devices / Android, with the yellow triangle. The manufacturer's website offers a "Support" section, but no link to the drivers.
Tried with another PC, same result.

Any ideas? Is it possible that some tablets doesn't allow developing directly from Eclipse?


Solution

  • First, this is a driver problem. Unfortunately you are rather out of luck without the driver.

    There are a couple things you can try from easiest to hardest:

    1. If you have a MAC in the office, try it, you often don't need a driver.
    2. If the device is rooted, you can use ADB wirelessly
    3. You can try modifying the google android driver (see below)

    EDIT This method works reliably on Windows. If you are running Windows 8, you have to reboot into the advanced startup menu and disable driver signing to install the modified driver.

    Google includes the USB drivers for the Nexus devices as part of the SDK. If you haven't installed the Google USB Driver package from the SDK Manager, do so.

    From the SDK folder, I see the drivers here: /android-sdk-windows/google-usb-driver/

    Opening the android_winusb.inf, you can see a sample entry for the Nexus One:

    ;Google Nexus One
    %SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_0D02
    %CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_0D02&MI_01
    %SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_4E11
    %CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E12&MI_01
    

    NOTE This entry is in two locations (the 32-bit driver and 64-bit driver sections). We are going to create a new entry, but ours will most likely only have 2 hardware IDs. So under the [Google.NTx86] section, create an entry:

    ;SynchroDigital INOSOP10-4.0 RES
    %SingleAdbInterface%        = USB_Install, 
    %CompositeAdbInterface%     = USB_Install, 
    

    Now we need to fill in the blanks.

    • Open up device manager
    • Go to Other Devices / Android and open up the entry with the yellow triangle
    • Go to details tab
    • Select hardware IDs from the Property dropdown

    Look familiar? Example: USB\VID_0BB4&PID_0CBB&MI_01

    Copy and paste these into the appropriate place:

    ;SynchroDigital INOSOP10-4.0 RES
    %SingleAdbInterface%        = USB_Install, USB\VID_0BB4&PID_0CBB&MI_01
    %CompositeAdbInterface%     = USB_Install, USB\VID_0BB4&PID_0CBB&REV_0228&MI_01
    

    NOTE I don't think that it matters where you paste these hardware IDs, I think that the variable names are just for cosmetic purposes. I could be wrong, I don't write windows drivers.

    Now copy and paste that entire entry into the [Google.NTamd64] section. All done, try and update the driver and see whether it accepts it.