[Galaxy Tab 3 General] r2d23cpo:
[MENTION=5864662]moonbutt74[/MENTION] and others

Here is today report.

Waisted most of the day trying to manually compile fastboot. So I end up learning one more time how to compile in CM10.1. Anyway to make story short here is the explanation how to build.

CM10.1 has included fastboot in

<CM10_1>/system/core/fastboot

I suggest you make a backup before modifying the files.

To compile:

cd <CM1* directory>
. build/envsetup.sh
lunch cm_santos10wifi-eng
mm fastboot usbtest

You can compiled them separately by

mm fastboot
mm usbtest

mm => make module

This you know but to the benefit of others the output binary is located in

<CM10_1>/out/host/linux-x86/bin/fastboot
<CM10_1>/out/host/linux-x86/bin/usbtest

usbtest is a nice utility capable of showing some info for devices connected to usb. It uses the same linux_usb library that fastboot uses.

Reading the code I found that I can force my Samsung Device to show up by commenting the following lines in linux_usb at line 86

static int check(void *_desc, int len, unsigned type, int size)
{
unsigned char *desc = _desc;

// if(len < size) return -1;
// if(desc[0] < size) return -1;
// if(desc[0] > len) return -1;
// if(desc[1] != type) return -1;

return 0;
}

There are more lines to moment in fastboot.c. But, up to here is where I had tested. This are the next I am going to test

int match_fastboot_with_serial(usb_ifc_info *info, const char *local_serial)
{
[COLOR="Red"] if(!(vendor_id && (info->dev_vendor == vendor_id)) &&
(info->dev_vendor != 0x18d1) && // Google
(info->dev_vendor != 0x8087) && // Intel
(info->dev_vendor != 0x0451) &&
(info->dev_vendor != 0x0502) &&
(info->dev_vendor != 0x0fce) && // Sony Ericsson
(info->dev_vendor != 0x05c6) && // Qualcomm
(info->dev_vendor != 0x22b8) && // Motorola
(info->dev_vendor != 0x0955) && // Nvidia
(info->dev_vendor != 0x413c) && // DELL
(info->dev_vendor != 0x2314) && // INQ Mobile
(info->dev_vendor != 0x0b05) && // Asus
(info->dev_vendor != 0x0bb4)) // HTC
[COLOR="Red"] return -1;
if(info->ifc_class != 0xff) return -1;
if(info->ifc_subclass != 0x42) return -1;
if(info->ifc_protocol != 0x03) return -1;[/COLOR]
// require matching serial number or device path if requested
// at the command line with the -s option.
if (local_serial && (strcmp(local_serial, info->serial_number) != 0 &&
[COLOR="Red"] strcmp(local_serial, info->device_path) != 0)) return -1;[/COLOR][/COLOR]
return 0;
}

jijiji I am such a Copy & Paste man. Or better Copy & Delete.

This is the important part. As you see we are removing the fastboot safeguards that ensure the selected usb is the appropriate.

I hope that at the end we are going to force the use of serial number to ensure the communication only goes to the proper Samsung device , my TAB3 or your ARM TAB4.

I

NEED

Source code of the

latest "droidboot"

, the one in the photos that has menus. I hope they are in the source code of the devices that uses, I suggest to look in

"<Source code Main Directory>/bootable" PLEASE if any of you find it post the link to the source here.

As you see I am sharing every bit of info I have or found. Yes, search, read, test,learn, share and teach others.

See you guys latter.