yashsingh1/xdaforums huggingface dataset:
[Upgrading, Modifying and Unlocking] dolorespark:
Six files are loaded before the kernel takes over. The first two, boot_0 and boot_1 are installed by LiveSuite and don't look like they deal with USB, so we can ignore them for now. The last one, u-boot.bin wasn't used in GB, so if that's where the problem is, we're out of luck. I'm hoping that the fix lies in one of the middle three: sprite.axf, drv_de.drv and boot.axf I've zipped up these 3 as trio7-gbldr.zip and put them here [edit: this file has been deleted].

The goal is to replace the existing files, one at a time, then see if it changes anything. This is definitely a "proof of concept" since I have no idea whether this will solve the problem. I tested this on my tablet and established that it continued to boot up and run normally. However, replacing boot.axf does have consequences: the battery graphics & the initial bootloader icon are trashed, and you can't boot into recovery using the Vol+ key.

The first task is to mount the bootloader partition and backup the files. Just like changing script.bin, you can do this from CWM and use its existing /boot directory, or you can do this while booted normally and use a directory you've created in /data or /cache.

adb shell mount -t vfat /dev/block/nanda /boot
adb shell ls -la /boot
adb shell cp /boot/boot.axf /boot/boot.axf-org
adb shell cp /boot/drv_de.drv /boot/drv_de.drv-org
adb shell cp /boot/sprite.axf /boot/sprite.axf-org

Next, replace the first file, then reboot. Start with sprite.axf since it won't mess up the display & has a 50% chance of containing the fix.

adb push sprite.axf /boot
adb shell sync
adb shell ls -la /boot
adb shell umount /boot
adb reboot

If we didn't get lucky on the first try, replace boot.axf next. Leave drv_de.drv for last since it seems to handle only the display and is least likely. For these, you'll have to remount nanda each time.

adb shell mount -t vfat /dev/block/nanda /boot
adb shell ls -la /boot
adb push boot.axf /boot
adb shell sync
adb shell ls -la /boot
adb shell umount /boot
adb reboot

If you want to confirm that this did or didn't fix the problem independently of just trying to turn on WiFi, you can do a dmesg and see if you get the line ehci_irq: port change detect after the kernel enables ehci.1 (this occurs about 1-1.5 seconds after boot begins).

Good luck!

P.S. I forgot to post fexc - I'll do that later today.
[Upgrading, Modifying and Unlocking] malmostoso:
NOPE. Chuck Testa.

So I did everything you asked and unfortunately nothing seems to work. Notably, the android logo got messed up after replacing boot.axf. I replaced the files in the order sprite.axf, boot.axf and drv_de.drv.

Last night I tried to install some random ROMs hoping that some would work, but no luck. The best results were with ROMs created for the d2pad, but no dice with wifi with any of them.
[Upgrading, Modifying and Unlocking] dolorespark:
:( There's only one thing left, so we might as well try it. I'll create a LiveSuite image that contains the other two files boot_0/1 along with every other possible fix. Who knows?
[Upgrading, Modifying and Unlocking] dolorespark:
Do you have WiFi? If so, it probably isn't due to rtl8150 - every ROM you've ever installed (including mine) loads it (and every one claims to be the same version).

I believe the problem is more fundamental. The ehci_irq: port change detect message I keep mentioning signals that something new has been plugged into a USB 2.0 port - or in our case, a device that was attached to the port just got power, so the port is now aware of it. You get it with your GB ROM but not with any other one while I get it regardless of which ROM I use.

The message first appears (or doesn't appear) when the kernel probes the USB ports at startup to see what's there. On your GB ROM, the message's timestamp is [ 0.560000] - barely a half second after startup and long before any external driver is loaded. That's why I believe (vs. "know") that you have a hardware initialization problem, and not a simple driver-related issue. The problem could be with the core USB support built into the kernel, but if that's the case then no amount of well-meaning assistance from me or anyone else is going to help. Only a kernel with appropriate support will fix it - and they're in short supply.

I'd love to be wrong if it would fix the problem - I'd learn something new.
[Upgrading, Modifying and Unlocking] malmostoso:
Well I couldn't check if I had wifi since the touchscreen didn't work, and stupidly I didn't even try to do it over the command line. I shall try it again later.

EDIT: I guess you're right. rtl8150 is a module and is loaded upon boot. I shall dig further.

---------- Post added at 05:23 PM ---------- Previous post was at 04:43 PM ----------

Nope, you're right. This is what happens when I turn on the wifi on the Ainol ROM:

root@nostromo:~# adb shell "svc wifi enable"
root@nostromo:~# adb shell dmesg
[cut]
<7>[ 289.740000] sw_usb_enable_hcd: usbc_num = 2
<7>[ 289.740000] [sw-ehci2]: sw_usb_enable_ehci
<7>[ 289.750000] [sw-ehci2]: probe, pdev->name: sw-ehci, pdev->id: 2, sw_ehci: 0xc086d6e8
<7>[ 289.760000] [sw-ehci2]: open clock
<7>[ 289.780000] [sw-ehci2]: Set USB Power ON
<6>[ 289.780000] sw-ehci sw-ehci.2: SW USB2.0 'Enhanced' Host Controller (EHCI) Driver
<6>[ 289.790000] sw-ehci sw-ehci.2: new USB bus registered, assigned bus number 2
<6>[ 289.810000] sw-ehci sw-ehci.2: irq 40, io mem 0xf1c1c000
<6>[ 289.830000] sw-ehci sw-ehci.2: USB 0.0 started, EHCI 1.00
<6>[ 289.830000] hub 2-0:1.0: USB hub found
<6>[ 289.830000] hub 2-0:1.0: 1 port detected
<7>[ 289.840000] [sw-ohci2]: sw_usb_enable_ohci
<7>[ 289.850000] [sw-ohci2]: probe, pdev->name: sw-ohci, pdev->id: 2, sw_ohci: 0xc086d7f8
<7>[ 289.850000] [sw-ohci2]: open clock
<6>[ 289.880000] sw-ohci sw-ohci.2: SW USB2.0 'Open' Host Controller (OHCI) Driver
<6>[ 289.880000] sw-ohci sw-ohci.2: new USB bus registered, assigned bus number 3
<6>[ 289.890000] sw-ohci sw-ohci.2: irq 65, io mem 0xf1c1c400
<6>[ 289.960000] hub 3-0:1.0: USB hub found
<6>[ 289.970000] hub 3-0:1.0: 1 port detected
<7>[ 289.970000] rtw driver version=v3.4.1_3418.20120217
<7>[ 289.980000] Build at: Mar 6 2012 18:23:11
<7>[ 289.980000] ##########rtw_suspend_lock_init ###########
<6>[ 289.990000] usbcore: registered new interface driver rtl8192cu
<7>[ 294.400000] +rtw_drv_halt
<7>[ 294.400000] ##########rtw_suspend_lock_uninit###########
<6>[ 294.410000] usbcore: deregistering interface driver rtl8192cu
<7>[ 294.410000] -rtw_drv_halt
<7>[ 294.420000] sw_usb_disable_hcd: usbc_num = 2
<7>[ 294.420000] [sw-ehci2]: sw_usb_disable_ehci
<7>[ 294.430000] [sw-ehci2]: remove, pdev->name: sw-ehci, pdev->id: 2, sw_ehci: 0xc086d6e8
<6>[ 294.430000] sw-ehci sw-ehci.2: remove, state 1
<6>[ 294.440000] usb usb2: USB disconnect, device number 1
<6>[ 294.450000] sw-ehci sw-ehci.2: USB bus 2 deregistered
<7>[ 294.450000] [sw-ehci2]: close clock
<7>[ 294.460000] [sw-ohci2]: sw_usb_disable_ohci
<7>[ 294.460000] [sw-ohci2]: remove, pdev->name: sw-ohci, pdev->id: 2, sw_ohci: 0xc086d7f8
<6>[ 294.470000] sw-ohci sw-ohci.2: remove, state 1
<6>[ 294.470000] usb usb3: USB disconnect, device number 1
<6>[ 294.480000] sw-ohci sw-ohci.2: USB bus 3 deregistered
<7>[ 294.490000] [sw-ohci2]: Set USB Power OFF
<7>[ 294.490000] [sw-ohci2]: close clock

Back to your ideas then. I'll just shut up and execute :)
[Upgrading, Modifying and Unlocking] malmostoso:
On a completely unrelated note, I managed to root the GB ROM!

I used this script:

http://www.slatedroid.com/topic/28682-root-ainol-novo-7-aurora-tasselhof-root-market-script-tools/

In particular I used the linux version. It worked fine, only change I made was to replace all the calls to "./adb" to "adb". The script comes from a mac user so yeah, some things are different.

Anyway, I am now rooted: not sure if it can help towards solving our problem but hey!

I should back the whole thing up, I guess.
[Upgrading, Modifying and Unlocking] kevmodee:
WOW! I missed some fun. XDA had no email updates from your posts guys. Sorry.

This reminded me of back when i got desperate enough to find answers I popped this trio open and looked at the chipset on the circuit board.

the interesting chip info in my log from back then when I posted a link to a driver for this chip that may be different.

<6>[ 54.860000] rtw driver version=v3.3.0_2971.20111128

<6>[ 54.860000] ##########rtw_suspend_lock_init ###########

<6>[ 54.920000] usbcore: registered new interface driver rtl8192cu

<6>[ 54.920000] register rtw_netdev_ops to netdev_ops

<6>[ 54.950000] CHIP TYPE: RTL8188C_8192C

here is the same entry in Orionoya's log and has same issue

[ 193.690000] rtw driver version=v3.3.0_2971.20111128

[ 193.700000] ##########rtw_suspend_lock_init ###########

[ 193.710000] usbcore: registered new interface driver rtl8192cu

[ 193.880000] usb 4-1: new high speed USB device using sw-ehci and address 2

[ 194.030000] register rtw_netdev_ops to netdev_ops

[ 194.030000] CHIP TYPE: RTL8188C_8192C

We opened our tablets and found this on the actual chip inside

Realtek RTL8188CUS , C3H37H1 ,CC14,TAIWAN

And so I think the drivers from realtek are listed here

RTL8188CUS - Linux Kernel 2.6.18~2.6.38 and Kernel 3.0.8 Android 1.6~2.3 and 4.0 7th driver down from the top

http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PFid=48&Level=5&Conn=4&ProdID=274&DownTypeID=3&GetDown=false&Downloads=true#2747

Maybe it is nothing, or maybe it is - one other guy with working wifi had a different number on the chip.
[Upgrading, Modifying and Unlocking] dolorespark:
@malmostoso, @kevmodee

It's time for the final episode in our saga: I've created a new LiveSuit image and update.zip that contains all the fixes we've already tried plus some new ones. It contains additional files from your GB ROM's bootloader plus a different kernel and drivers, whence the need for a whole new package. It's here [edit: file deleted]. As always, flash the L/S image then apply the update.zip from CWM.

P.S. I've also put fexc there, as promised. After I repackage it, I'll be moving it to a new "tools" folder with other useful stuff.
[Upgrading, Modifying and Unlocking] malmostoso:
Haven't finished booting yet but...

root@nostromo:~# adb shell dmesg | grep detect
<6>[ 0.086981] hub 1-0:1.0: 1 port detected
<6>[ 1.249752] hub 2-0:1.0: 1 port detected
<6>[ 1.368274] hub 3-0:1.0: 1 port detected
<7>[ 1.445445] ehci_irq: port change detect
<6>[ 1.453655] hub 4-0:1.0: 1 port detected
<6>[ 1.608272] hub 4-0:1.0: 1 port detected

And we have a winner :D Let me fiddle with it and I'll feedback in a minute :D
[Upgrading, Modifying and Unlocking] malmostoso:
So, first of all THANK YOU SO MUCH. Buttons, Wifi, gsensor, everything seems to be working as expected.

The only problem I have noticed is that graphics intensive applications such as games are crashing. Ruzzle complained that there was no support for OpenGL ES 2 or something like that.

Not sure what's going on there to be honest.

So I guess if you have an Amazon wishlist or something, I'd be happy to buy you a coffee :)
[Upgrading, Modifying and Unlocking] dolorespark:
It works? That's unexpected...

Now, I bet you thought we were done screwing around - we're not :D In the bootloader partition (/dev/block/nanda), I included the original JB files that should be used rather than the ones from your GB ROM. What I'd like you to do is back them out, one at a time, then see if the wifi still works. Based on what you find, I'll create a new package for other people who have the wifi problem.

As you do so, be sure to rename the existing file so you can go back to it without having to reinstall everything. The first one to try is boot.axf which will get the battery and boot icons to display correctly. At the same time, we also have to replace linux/linux.ini since the GB version is inappropriate (at least) for JB's boot.axf

adb shell mount -t vfat /dev/block/nanda /boot
adb shell ls -la /boot
adb shell mv /boot/boot.axf /boot/boot.axf-gb
adb shell mv /boot/boot.axf-jb /boot/boot.axf
adb shell mv /boot/linux/linux.ini /boot/linux/linux.ini-gb
adb shell mv /boot/linux/linux.ini-jb /boot/linux/linux.ini
adb shell ls -la /boot
adb shell umount /boot
adb reboot

After that, try drv_de.drv and sprite.axf

Replacing drv_de.drv may fix that. If it doesn't, I'll investigate further.
[Upgrading, Modifying and Unlocking] kevmodee:
GAH!!!! I am still at work and have to wait a few more hours before I can try too !!!!!!!!
[Upgrading, Modifying and Unlocking] kevmodee:
Mostly working!

Awesome work dolorespark! Wifi is working. Buttons, gsensor all good. I did not try games yet but I got Netflix playing just fine - better than on GB.

I have backed out all 4 files to the JB versions you supplied and wifi buttons and gsensor are all still good.

But . . .

If I launch Google Search from main screen "G" icon or "Google" from Apps screen it restarts the Tablet.

Also happens on Sound Recorder and Voice Search. (embedded googly functionality)

However, Gmail, GooglePlay, GoogleTalk (launched only) Netflix, Camera, RootExplorer are all working fine. I'll test Skype tomorrow.

I will try installing a few browsers and other apps and see how it goes.

THANKS SO MUCH dolorespark!!!! (and malmostoso too)
[Upgrading, Modifying and Unlocking] kevmodee:
Skype reboots the tablet too. Seems like mic is part of the issue as sound recorder also does it too.

Look at the default Signature from your ROM because with WiFi I can download XDA app and post here :)
[Upgrading, Modifying and Unlocking] dolorespark:
My bad. I left this line out of /system/build.prop: ro.opengles.version=131072

Just add it back in. However, a word of warning: if you pull the file, edit it, then push it back

be sure

to chmod 644 /system/build.prop

If you don't, you'll get a boot loop.

Great news! I don't know if it was the two hidden boot files or the new kernel. This ROM is definitely a mongrel: kernel and drivers from one JB ROM, Android proper from another, plus a few leftovers from Gingerbread. Sheesh!

Yep, so I've discovered. This is what dmesg has to say when it doesn't cause a reboot:

<3>[ 269.434886] BUG: scheduling while atomic: AudioOut_2/275/0x00000004

This is followed by a backtrace of the call stack which I'll examine to see if I can track it down.

BTW... don't get too set-up with this ROM - there's still the final, perfect one yet to come.
[Upgrading, Modifying and Unlocking] malmostoso:
I replaced the 4 files and just like kevmodee I don't notice any regression, and the boot logo is fixed. Adding this line at the end of build.prop (I left an empty line afterwards, not sure it's important but sometimes it is) fixes the graphics as well, for what I could test.

I have tried the camera and with the camera app I can take pictures, I haven't tried skype.

Anything else needs to be checked?

EDIT: Another thing, not sure it's ROM related or dumbness related: I can't get rid of notifications, unless I click on them. On GB I would open the notification pane, click on "clear" and they were all gone. Here there's no such thing. How do I do that? --> Swipe them to the side, duh.

EDIT2: Found something that doesn't work: the hardware volume buttons.
[Upgrading, Modifying and Unlocking] dolorespark:
Now that you have the standard boot files back in place, can you get into CWM using Vol+/Power? If it doesn't work on the first try and just boots normally, wait until it has completed startup, then press and hold the power button until it goes off - IGNORE the shutdown popup. Now retry with the buttons.

Hmmm... they didn't work for me until I changed script.bin, so I guess our layouts are different (surprise!). On most ROMs, the physical buttons are mapped to functions by a file in /system/usr/keylayout - but not this one. You can probably fix it yourself using fexc. Get it from the same URL as the ROM, put it somewhere in your PATH (e.g. ~/bin), then create two symlinks to it named fex2bin and bin2fex. If you use the links you don't have to specify the input and output formats.

Next, mount nanda (as you've done before), pull script.bin, then run this command:

bin2fex script.bin script.fex

Open the file, go to the bottom, then scroll up a page or two until you encounter [key_map]. Below it you should see something like 115,114,0,0,0,0,0 (I'm at work and doing this from memory, so my description may be slightly inaccurate). "115" and "114" are the values for the Volume keys, and are unlikely to be incorrect - however, their position in this array may be wrong.

Before you change anything, confirm that neither button works. If so, add 0,0, to the beginning of the array. If one does work (probably incorrectly), just add a single 0,. Assuming neither works, the result would be 0,0,115,114,0,0,0,0,0. You may want to remove the last 2 zeros from the array so that it remains the same length (I don't know if this is necessary).

Save the file, then run this command:

fex2bin script.fex script.bin

Finally, push the file back twice: once as script.bin and once as script0.bin, then reboot.

Since you've done similar stuff before, I've omitted many of the intermediate steps like mounting & unmounting nanda,

making backups

of everything, etc. Scan my previous posts for the specific commands to do all this.

Please let me know what works (if anything).

Edit: P.S. When you get into CWM (either via the buttons or via the Reboot app I included, see if the Volume buttons work there to change the selection. If they do, select the Advanced option, then key test. As you push each button, it will display its value. The Volume buttons should be 114 and 115, and Power should be 116. If the Vol buttons have different values, substitute those values in the instructions above. Unfortunately, the tablet lacks a physical Back button, so the only way out of this is to force the power off.
[Upgrading, Modifying and Unlocking] kevmodee:
I cannot get into revory with hardware vol and power - and I have had lots of practice so I did the key test.

power = 116 - and selects in CWM

vol - = 158 and navigates down options in CWM

vol+ = 217 and backs out of CWM options like a back button

I may try to adjust the key array as you instructed.
[Upgrading, Modifying and Unlocking] malmostoso:
I tried downloading fexc but I can't seem to get it. Could you try including it in a zip? Also, is it compiled for 32-bit linux? If not I can compile it myself if you pass on the source code.

I did this, here is the result:

- Vol (-) is button 217

- Vol (+) is button 158
[Upgrading, Modifying and Unlocking] dolorespark:
I guess I should have expected that they'd be completely different (on many tabs, 158 is the Back button). In that case, replace "115,114" with "158,217," (or perhaps, "217,158," - dunno) but leave them in the first and second positions in the array.

BTW... the CWM in my ROM uses a different kernel than when booted normally - I don't think it uses [key_map] so these changes probably won't affect it. After I get all the details correct for a normal boot, I plan to look into customizing CWM in the hope of getting the capacitive buttons to work.

What happens when you try? Does it just display the binary? For your future reference, you can use the "File" menu on the page and select the "Download" entry. However, that won't help you here because this is a 64-bit binary. To build it yourself, start with this page Sunxi-tools - at the bottom is a link to their respository at GitHub with the source code.
[Upgrading, Modifying and Unlocking] malmostoso:
Yeah I tried to compile it myself but it fails in a flurry of errors at linking time

jack@nostromo:~/Desktop/tablet/fex/sunxi-tools$ gcc -std=gnu99 -o fexc fexc.c
/tmp/ccmYT5DG.o: In function `script_parse':
fexc.c:(.text+0x255): undefined reference to `script_parse_fex'
fexc.c:(.text+0x418): undefined reference to `script_decompile_bin'
/tmp/ccmYT5DG.o: In function `script_generate':
fexc.c:(.text+0x5d3): undefined reference to `script_bin_size'
fexc.c:(.text+0x64f): undefined reference to `script_generate_bin'
/tmp/ccmYT5DG.o: In function `main':
fexc.c:(.text+0xac7): undefined reference to `script_new'
fexc.c:(.text+0xb34): undefined reference to `script_delete'
/tmp/ccmYT5DG.o:(.data+0x10): undefined reference to `script_generate_fex'
/tmp/ccmYT5DG.o:(.data+0x18): undefined reference to `script_generate_uboot'
collect2: error: ld returned 1 exit status

I am not too sure if I can fix it.

I also tried the online bin2fex converter but that failed too. So long story short, if you could prepare a new script.bin for me to test it would be great.

Please note that kevmodee and I have reported opposite volume + and - buttons. I have just rechecked and I am sure mine are correct, that is:

- Volume - is 217

- Volume + is 158

And as he reported, Volume + acts as back button, Volume - navigates and power selects.

Thanks!
[Upgrading, Modifying and Unlocking] kevmodee:
Mine are this way too. I just tested again. I posted them wrong last time.
[Upgrading, Modifying and Unlocking] dolorespark:
Certainly - look for it tomorrow (CET) or later tonight (PST)

That's pretty sad - it might as well say "Sent from my cheap Chinese clone...". I'll change it.
[Upgrading, Modifying and Unlocking] dolorespark:
@kevmodee, @malmostoso

I've posted script.bin-mma7660 here[edit: file deleted]. I also posted sys_config1.fex-mma7660 there so you can look at the source. Most of it will be Greek but you'll see that there are headings like [ctp_para] and [gsensor_para] with the parameters for those pieces of hardware. Toward the bottom is [key_map] which I just modified. FYI... over on SlateDroid in the A10 forum, someone posted a pre-compiled, 32-bit (I think) copy of fexc. Someone also posted a Windows version, but sadly, the link is dead.

Edit: forgot to mention that beside fixing the h/w volume keys, this may also enable you to get into CWM using Power & Vol+. Let me know if it does.
[Upgrading, Modifying and Unlocking] kevmodee:
I pushed script.bin-mma7660 in as before as script.bin and script0.bin. In recovery they still test the same as vol-217 and vol+158 but they do not trigger vol up and down and do not let me get into recovery with vol+.

EDIT : Before I replaced script.bin I tested and when I pressed vol+ on the main screen it would popup the system settings/apps/wallpaper menu, so this change did alter behavior. In Recovery it worked just as always with minus navigating down the menu and plus working like back, or previous menu.

I am not able to get fexc on linux either. My Ubuntu is not working right now. Sorry.