• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root [UPDATED 8/8/12]Breath of fresh air....an update

Okay I have a github org setup at github.com/spectrumhackers. Initial members are myself and d2a. Anyone else, please reply or PM me with your github username.

I just forked CM's lge-kernel-iproj. I'll be tweaking it and adding configs tomorrow.

I'll also toss in a repo with a minimal initrd that successfully launches adb under the stock kernel and build instructions, so we have a known good test.

Oh, and just so we can end the day on a high note: I noticed that the ics kernel is successfully mounting filesystems (/system, /data, etc.) So the mmc subsystem seems to be good.

Hmm .. is it just me or does everyone see "An exception occured while bootstrapping the application." in the text box just above and to the right of the "Quick Reply" section? I find that rather amusing right now.... :p
 
Okay I have a github org setup at github.com/spectrumhackers. Initial members are myself and d2a. Anyone else, please reply or PM me with your github username.

I just forked CM's lge-kernel-iproj. I'll be tweaking it and adding configs tomorrow.

I'll also toss in a repo with a minimal initrd that successfully launches adb under the stock kernel and build instructions, so we have a known good test.

Oh, and just so we can end the day on a high note: I noticed that the ics kernel is successfully mounting filesystems (/system, /data, etc.) So the mmc subsystem seems to be good.

Hmm .. is it just me or does everyone see "An exception occured while bootstrapping the application." in the text box just above and to the right of the "Quick Reply" section? I find that rather amusing right now.... :p
Lol, I see it too.
 
Okay we're on branch spectrum-ics (branched from android-msm-3.0).

I checked in my config as spectrum_defconfig. This was created by using the p930 config as a base and painstakingly going through the entire spectrum gb kernel config to find any differences. About an hour ago, I noticed there is a i_vzw_defconfig. Doh! Most of the config is very similar but this does concern me:

-CONFIG_MACH_MSM8X60_FUSN_FFA=y
+# CONFIG_MACH_MSM8X60_FUSN_FFA is not set

The i_vzw config has MACH_MSM8X60_FUSN_FFA, mine does not. I tried to enable it but that didn't seem to boot at all. Hmm, makes me wonder if this i_vzw config (or any of the i_vzw board specific code) actually got tested. On the other hand, everything in lge/lge_board/i_vzw seems to compile just as well as the stock gb code. So they must have at least ensured that it compiled -- you don't just get lucky unless your name is Linus. ;)

Anyway, I need to crash, I'll create a repo for the initrd tomorrow.
 
@Death2all
As I would with anyone, I discourage members for making additional accounts. It is against the forum rules and in this situation in particular it does nothing to encourage favorable action on your behalf. Please discuss your problems with the Admin and keep them off of this forum, it is not the place for it.

@All
Please leave future discussions about a members status to an appropriate separate thread and keep this one on topic.

Thank you
 
I've been gone for a while... It's awesome to see so much progress on this thread. I've got my hopes up again!
 
Got the ics kernel to compile with CONFIG_MACH_MSM8X60_FUSN_FFA set, which seems to be intended to be set based on both the GB kernel (where it is named CHARM_FFA) and the i_vzw config in the ics tree.

Also just created a testinitrd repo which contains a fairly minimal initrd and a handy script to pack up a boot.img. This can easily be pushed and written to the device when in recovery, eg:

adb push boot.img / && adb shell dd if=/boot.img of=/dev/block/mmcblk0p8 bs=4096

Still trying to figure out the issue with the usb device. Note the device doesn't show up in "lsusb" on my (Linux) host at all.
 
Also note on my Linux host, dmesg says the following...

In recovery, where adb works:

[3555497.423815] usb 2-1.6.2: new high speed USB device using ehci_hcd and address 115
[3555497.522672] usb 2-1.6.2: New USB device found, idVendor=1004, idProduct=6204
[3555497.522676] usb 2-1.6.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[3555497.522679] usb 2-1.6.2: Product: LG Android USB Device
[3555497.522681] usb 2-1.6.2: Manufacturer: LG Electronics Inc.
[3555497.522683] usb 2-1.6.2: SerialNumber: LGOTMSxxxxxxx
[3555497.522794] usb 2-1.6.2: configuration #1 chosen from 1 choice
[3555497.526502] cdc_acm 2-1.6.2:1.0: This device cannot do calls on its own. It is not a modem.
[3555497.526563] cdc_acm 2-1.6.2:1.0: ttyACM0: USB ACM device
[3555497.530690] usb0: register 'cdc_ether' at usb-0000:00:1d.0-1.6.2, CDC Ethernet Device, xx:xx:xx:xx:xx:xx

Under the ics kernel, where adb does not work:


[3555564.304636] usb 2-1.6.2: new high speed USB device using ehci_hcd and address 121
[3555564.416558] usb 2-1.6.2: no configurations
[3555564.416563] usb 2-1.6.2: can't read configurations, error -22
[3555564.508061] usb 2-1.6.2: new high speed USB device using ehci_hcd and address 122
[3555564.615993] usb 2-1.6.2: no configurations
[3555564.615997] usb 2-1.6.2: can't read configurations, error -22
[3555564.707479] usb 2-1.6.2: new high speed USB device using ehci_hcd and address 123
[3555564.728162] usb 2-1.6.2: no configurations
[3555564.728167] usb 2-1.6.2: can't read configurations, error -22
[3555564.819157] usb 2-1.6.2: new high speed USB device using ehci_hcd and address 124
[3555564.839843] usb 2-1.6.2: no configurations
[3555564.839848] usb 2-1.6.2: can't read configurations, error -22
[3555564.842918] hub 2-1.6:1.0: unable to enumerate USB device on port 2

I am not a USB guru, but it seems to me that the composite device is not initialized properly. That is most likely a kernel issue, but I'm not going to discount something in userspace -- say, a change that I forgot in the init.rc or whatever.
 
Very wild guess...

On the phone for USB in system settings:

Choice #1 is charge only
Choice #2 is mass storage
Choice #3 is Ethernet

Perhaps since choice #1 on your printout says no modem there was something that wasn't initially enabled ...again just a guess
 
  • Like
Reactions: tdm
Also note on my Linux host, dmesg says the following...

In recovery, where adb works:

[3555497.423815] usb 2-1.6.2: new high speed USB device using ehci_hcd and address 115
[3555497.522672] usb 2-1.6.2: New USB device found, idVendor=1004, idProduct=6204
[3555497.522676] usb 2-1.6.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[3555497.522679] usb 2-1.6.2: Product: LG Android USB Device
[3555497.522681] usb 2-1.6.2: Manufacturer: LG Electronics Inc.
[3555497.522683] usb 2-1.6.2: SerialNumber: LGOTMSxxxxxxx
[3555497.522794] usb 2-1.6.2: configuration #1 chosen from 1 choice
[3555497.526502] cdc_acm 2-1.6.2:1.0: This device cannot do calls on its own. It is not a modem.
[3555497.526563] cdc_acm 2-1.6.2:1.0: ttyACM0: USB ACM device
[3555497.530690] usb0: register 'cdc_ether' at usb-0000:00:1d.0-1.6.2, CDC Ethernet Device, xx:xx:xx:xx:xx:xx

Under the ics kernel, where adb does not work:


[3555564.304636] usb 2-1.6.2: new high speed USB device using ehci_hcd and address 121
[3555564.416558] usb 2-1.6.2: no configurations
[3555564.416563] usb 2-1.6.2: can't read configurations, error -22
[3555564.508061] usb 2-1.6.2: new high speed USB device using ehci_hcd and address 122
[3555564.615993] usb 2-1.6.2: no configurations
[3555564.615997] usb 2-1.6.2: can't read configurations, error -22
[3555564.707479] usb 2-1.6.2: new high speed USB device using ehci_hcd and address 123
[3555564.728162] usb 2-1.6.2: no configurations
[3555564.728167] usb 2-1.6.2: can't read configurations, error -22
[3555564.819157] usb 2-1.6.2: new high speed USB device using ehci_hcd and address 124
[3555564.839843] usb 2-1.6.2: no configurations
[3555564.839848] usb 2-1.6.2: can't read configurations, error -22
[3555564.842918] hub 2-1.6:1.0: unable to enumerate USB device on port 2

I am not a USB guru, but it seems to me that the composite device is not initialized properly. That is most likely a kernel issue, but I'm not going to discount something in userspace -- say, a change that I forgot in the init.rc or whatever.

Not sure how much this will help, but I remembered seeing it when digging in the V7_15 ICS kernel. These lines come from init.rc and are different from what I see in your current init.rc on github.

# Used to disable USB when switching states
on property:sys.usb.config=none
stop adbd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/bDeviceClass 0
setprop sys.usb.state $sys.usb.config

# adb only USB configuration
# This should only be used during device bringup
# and as a fallback if the USB manager fails to set a standard configuration
on property:sys.usb.config=adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 901D
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/functions diag,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state $sys.usb.config

# USB accessory configuration
on property:sys.usb.config=accessory
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 18d1
write /sys/class/android_usb/android0/idProduct 2d00
write /sys/class/android_usb/android0/functions $sys.usb.config
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state $sys.usb.config

# USB accessory configuration, with adb
on property:sys.usb.config=accessory,adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 18d1
write /sys/class/android_usb/android0/idProduct 2d01
write /sys/class/android_usb/android0/functions $sys.usb.config
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state $sys.usb.config

# Used to set USB configuration at boot and to switch the configuration
# when changing the default configuration
on property:persist.sys.usb.config=*
setprop sys.usb.config $persist.sys.usb.config
 
Not sure how much this will help

That was it!!! The problem was my init.rc all along! I'm soooo stupid lol.

So I hardcoded these lines in "on boot":

write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 1004
write /sys/class/android_usb/android0/idProduct 6204
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/functions diag,adb

And then removed the "disabled" line from adbd so it would alway start.

Ladies and gentlemen (and d2a, lol), we have an ics kernel on the spectrum. Check it out:


$ adb shell
root@android:/ # cat /proc/version
Linux version 3.0.8-cyanogenmod+ (tommy@lappy) (gcc version 4.4.1 (Sourcery G++ Lite 2009q3-68) ) #6 SMP PREEMPT Thu Oct 4 03:59:53 UTC 2012
root@android:/ # cat /proc/cpuinfo
Processor : ARMv7 Processor rev 2 (v7l)
processor : 0
BogoMIPS : 13.52

processor : 1
BogoMIPS : 13.52

Features : swp half thumb fastmult vfp edsp neon vfpv3 tls
CPU implementer : 0x51
CPU architecture: 7
CPU variant : 0x0
CPU part : 0x02d
CPU revision : 2

Hardware : QCT MSM8X60 FUSION FFA
Revision : 0000
Serial : 0000000000000000
root@android:/ #

Okay so the serial number is bogus but it's obviously functional.

Woohoo!!!
 
Like always awesome work neph for figuring that out! I think I've mentioned this before but great job tdm d2a cuz I know you're looking out there lol you're efforts are greatly appreciated by all of us!
 
That was it!!! The problem was my init.rc all along! I'm soooo stupid lol.

So I hardcoded these lines in "on boot":

write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 1004
write /sys/class/android_usb/android0/idProduct 6204
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/functions diag,adb

And then removed the "disabled" line from adbd so it would alway start.

Ladies and gentlemen (and d2a, lol), we have an ics kernel on the spectrum. Check it out:


$ adb shell
root@android:/ # cat /proc/version
Linux version 3.0.8-cyanogenmod+ (tommy@lappy) (gcc version 4.4.1 (Sourcery G++ Lite 2009q3-68) ) #6 SMP PREEMPT Thu Oct 4 03:59:53 UTC 2012
root@android:/ # cat /proc/cpuinfo
Processor : ARMv7 Processor rev 2 (v7l)
processor : 0
BogoMIPS : 13.52

processor : 1
BogoMIPS : 13.52

Features : swp half thumb fastmult vfp edsp neon vfpv3 tls
CPU implementer : 0x51
CPU architecture: 7
CPU variant : 0x0
CPU part : 0x02d
CPU revision : 2

Hardware : QCT MSM8X60 FUSION FFA
Revision : 0000
Serial : 0000000000000000
root@android:/ #

Okay so the serial number is bogus but it's obviously functional.

Woohoo!!!


Onto the drawing boards
 
Back
Top Bottom