Jump to content

[ICS] [CM9] [4.0.4] CyanogenMod 9 for the ZTE Crescent [ROM] [Last updated: 13/07]


Guest Dazzozo

Recommended Posts

Guest Dazzozo

Is there a way to move home button to volume keys or power button on vivacity as thats all im missing using this rom

You'll have to be a little more specific. I don't own a Vivacity and the only differences I'm personally aware of is with the touchscreen.

Link to comment
Share on other sites

Guest Dazzozo

Tried running dmesg after trying to insmod the Wi-Fi module, and...

<4>[04-09 13:18:02.340000] [1190: insmod]

<4>[04-09 13:18:02.340000] [1190: insmod]Dongle Host Driver, version 5.90.125.16.1

<4>[04-09 13:18:02.340000] [1190: insmod]Compiled in /home/yuki/android/builds/ics_kernel/kernel_zte_blade/../.. on Apr 9 2012 at 14:11:46

Yet insmod fails with...

insmod: init_module 'dhd.ko' failed (Invalid argument)

Hm. Looking up this invalid argument malarkey.

Edit: Apparently it's when you have the wrong Wi-Fi module for your kernel, or vice-versa. But these are compiled at exactly the same time, so I KNOW they're right...

Edit 2: Interesting. I compiled the Wi-Fi module, and then set it to "y" instead of "m" which builds it in to the kernel instead of as a module. Ran insmod, and...

insmod: init_module 'dhd.ko' failed (Exec format error)

But that would make sense. dmesg reports <3>[04-09 13:33:28.019995] [1179: insmod]dhd: exports duplicate symbol bcmsdh_remove (owned by kernel)

Can't be that. This is all very odd.

Edit 3: It would be nice to have an actual error about why insmod is failing on the first configuration instead of it reporting some friendly information I already know. Agghhh.

Edit 4: I may have it. Give me a few.

Edit 5: Damn. That was so promising. Okay, I'm out of ideas.

Edit 6: Oh no, hang on...

Edit 7: Making what feels like progress.

Edited by Dazzozo
Link to comment
Share on other sites

Guest RedZombie

Tried running dmesg after trying to insmod the Wi-Fi module, and...

<4>[04-09 13:18:02.340000] [1190: insmod]

<4>[04-09 13:18:02.340000] [1190: insmod]Dongle Host Driver, version 5.90.125.16.1

<4>[04-09 13:18:02.340000] [1190: insmod]Compiled in /home/yuki/android/builds/ics_kernel/kernel_zte_blade/../.. on Apr 9 2012 at 14:11:46

Yet insmod fails with...

insmod: init_module 'dhd.ko' failed (Invalid argument)

Hm. Looking up this invalid argument malarkey.

Edit: Apparently it's when you have the wrong Wi-Fi module for your kernel, or vice-versa. But these are compiled at exactly the same time, so I KNOW they're right...

Edit 2: Interesting. I compiled the Wi-Fi module, and then set it to "y" instead of "m" which builds it in to the kernel instead of as a module. Ran insmod, and...

insmod: init_module 'dhd.ko' failed (Exec format error)

But that would make sense. dmesg reports <3>[04-09 13:33:28.019995] [1179: insmod]dhd: exports duplicate symbol bcmsdh_remove (owned by kernel)

Can't be that. This is all very odd.

Edit 3: It would be nice to have an actual error about why insmod is failing on the first configuration instead of it reporting some friendly information I already know. Agghhh.

Edit 4: I may have it. Give me a few.

Edit 5: Damn. That was so promising. Okay, I'm out of ideas.

Edit 6: Oh no, hang on...

Edit 7: Making what feels like progress.

Loving the commentary dude, keeping me on the edge of my seat!! Wish there was something I could do to assist but I guess without having coding knowledge I am useless to you!

Link to comment
Share on other sites

Guest CurtisAndroidSF2

As soon as the WIFI and Camera works I'll be going to CM. I was a huge fan of CM7 on my Galaxy 5, it'd be great to have CM9 on my Crescent!

Any ETA for a working wifi and camera release?

Thanks for the hard work, I would love to help but my knowledge of roms and coding etc is nearly non-existence.

Edited by CurtisAndroidSF2
Link to comment
Share on other sites

Guest Dazzozo

As soon as the WIFI and Camera works I'll be going to CM. I was a huge fan of CM7 on my Galaxy 5, it'd be great to have CM9 on my Crescent!

Any ETA for a working wifi and camera release?

Thanks for the hard work, I would love to help but my knowledge of roms and coding etc is nearly non-existence.

ETA: When it's fixed.

If I could give a time frame I would. But honestly, it's impossible - I just have to keep trying various things until something sorts out the Wi-Fi, something could do it today, something could do it tomorrow, something could do it later in the week. I don't see the Camera being a huge challenge after this, though.

Link to comment
Share on other sites

Guest tilal6991

Wifi errors seem interesting. Fuzzra is really the only person to say how he got it working.

So are you compiling the wifi driver with "m" instead of "y"?

Link to comment
Share on other sites

Guest Dazzozo

Wifi errors seem interesting. Fuzzra is really the only person to say how he got it working.

So are you compiling the wifi driver with "m" instead of "y"?

Yep. Looking at the bcm4330 code he had in his fork, it seems to inherit things from bcm4329 but when I try to compile the kernel with that, I get some horrible internal error right at the end in the toolchain. At the moment I'm installing an older build and pulling Fuzzra's config from /proc/config.gz

Edit: Config get! http://pastebin.com/2CdP2DZr

Edit 2: Very weird. The config in the kernel he last produced doesn't even use the BCM4330 stuff in his repo, just the normal DHD stuff. Going to look through his commits.

Edit 3: Last commit, March 15th. Kernel config built March 1st. Begs the question - when did he last update the kernel in his device config?

Edit 4: March 4th. :/

Edit 5: Give me a sec, new idea.

Edit 6: Right, I have something to test, just restoring a Nandroid backup.

Edited by Dazzozo
Link to comment
Share on other sites

Guest welshrage

ooooooh this is soooo much better than a damn good movie aye... am on pins ere waiting for the wi-fi to work!!!! an android aint an android unless it got workin wi-fi!! keep up the good work mucka,muchly appreciated by myself and everyone else i'll bet :oD

Yep. Looking at the bcm4330 code he had in his fork, it seems to inherit things from bcm4329 but when I try to compile the kernel with that, I get some horrible internal error right at the end in the toolchain. At the moment I'm installing an older build and pulling Fuzzra's config from /proc/config.gz

Edit: Config get! http://pastebin.com/2CdP2DZr

Edit 2: Very weird. The config in the kernel he last produced doesn't even use the BCM4330 stuff in his repo, just the normal DHD stuff. Going to look through his commits.

Edit 3: Last commit, March 15th. Kernel config built March 1st. Begs the question - when did he last update the kernel in his device config?

Edit 4: March 4th. :/

Edit 5: Give me a sec, new idea.

Edit 6: Right, I have something to test, just restoring a Nandroid backup.

Link to comment
Share on other sites

Guest Dazzozo

Sorry about that. sd-ext took a worryingly long amount of time to restore.

Flashed the test kernel, just about to push the module.

Edit: Progress!

<4>[04-09 16:18:18.310000] [1216: insmod]shaohua enter gpio_wlan_ctrl ----------------

<4>[04-09 16:18:18.310000] [1216: insmod]request success

<4>[04-09 16:18:18.470000] [1216: insmod]bcm_detect_card: (ed934400), call

<4>[04-09 16:18:18.490000] [1216: insmod]shaohua power on -------------------------

<4>[04-09 16:18:18.490000] [1216: insmod]

<4>[04-09 16:18:18.490000] [1216: insmod]Dongle Host Driver, version 4.218.248.6

<6>[04-09 16:18:18.550000] [12: kmmcd]mmc1: new high speed SDIO card at address0001

<4>[04-09 16:18:26.489999] [1216: insmod]dhd_module_init: sdio_register_driver timeout

Edited by Dazzozo
Link to comment
Share on other sites

Guest Dazzozo

is this wifi progress :D

Hopefully. Nothing's fully fixed yet, but it's actually giving me something to go on now.

Something's causing this to be triggered.

if (down_timeout(&dhd_registration_sem,  msecs_to_jiffies(DHD_REGISTRATION_TIMEOUT)) != 0) {
error = -EINVAL;
DHD_ERROR(("%s: sdio_register_driver timeout\n", __FUNCTION__));
dhd_bus_unregister();
}[/code]

Edit: sdio_register_driver is just not completing. Upped the timeout 10x and it still timed out. The question is, why.

Edited by Dazzozo
Link to comment
Share on other sites

Guest PsYcHoKiLLa

Hopefully. Nothing's fully fixed yet, but it's actually giving me something to go on now.

Something's causing this to be triggered.

if (down_timeout(&dhd_registration_sem,  msecs_to_jiffies(DHD_REGISTRATION_TIMEOUT)) != 0) {

		error = -EINVAL;

		DHD_ERROR(("%s: sdio_register_driver timeout\n", __FUNCTION__));

		dhd_bus_unregister();

	}

Edit: sdio_register_driver is just not completing. Upped the timeout 10x and it still timed out. The question is, why.

Call to a non-existant something or other? :) What was that line you commented out last night? Did you fix that?

Edited by PsYcHoKiLLa
Link to comment
Share on other sites

Guest Dazzozo

Call to a non-existant comething or other? :) What was that line you commented out last night? Did you fix that?

libril, it tries to build in CM and in the device config but either way I just substitute it for a prebuilt.

Edit: Well, my config and Fuzzra's kernel config are pretty much identical besides the genlock change for Adreno drivers and overclocking. This is a very weird issue.

Edit 2: Going to try Fuzzra's dhd.ko. Probably won't lead to working Wi-Fi but it might get us some more info.

Edit 3: Indeed it did!

<4>[04-09 17:20:11.970000] [1253: insmod]

<4>[04-09 17:20:11.970000] [1253: insmod]Dongle Host Driver, version 5.90.125.16.1

<6>[04-09 17:20:12.040000] [12: kmmcd]mmc1: new high speed SDIO card at address0001

<4>[04-09 17:20:12.050000] [12: kmmcd]dhd_customer_oob_irq_map: customer specific Host GPIO number is (19)

<4>[04-09 17:20:12.050000] [12: kmmcd]BCM4330B2 found!

<4>[04-09 17:20:12.060000] [12: kmmcd]DHD: dongle ram size is set to 294912(orig 294912)

<4>[04-09 17:20:12.060000] [12: kmmcd]dhd_early_suspend: enter +

<4>[04-09 17:20:12.060000] [12: kmmcd]dhd_early_suspend: dhd is not attach,skipit! dhd_state: 0x00000000

<4>[04-09 17:20:12.060000] [12: kmmcd]dhd_early_suspend: leave -

<4>[04-09 17:20:12.060000] [12: kmmcd]shaohua set pfn_dhd eca990b0

<4>[04-09 17:20:12.060000] [12: kmmcd]dhdsdio_probe: failed

<4>[04-09 17:20:12.060000] [12: kmmcd]dhd_osl_detach: MEMORY LEAK 140 bytes

Edit 4: Version 5.90.125.16.1 suggests this was built from bcm4330. Damn you Fuzzra!

Edited by Dazzozo
Link to comment
Share on other sites

Guest Dazzozo

Right. Put most of my day in to this and I seem to have got somewhere.

root@android:/system/lib/modules # insmod dhd.ko fwb1_path=/vendor/firmware/fw_4330b1.bin fwb2_path=/vendor/firmware/fw_4330b2.bin nvram_path=/vendor/firmware/nv_4330b1.txt firmware_path=/vendor/firmware/fw_4330b1.bin dhd_msg_level=3

dmesg:

<4>[04-09 18:47:22.070000] [1265: insmod]request success
<4>[04-09 18:47:22.070000] [1265: insmod]wlan_wake_up_gpio request success
<4>[04-09 18:47:22.070000] [1265: insmod]WLAN_REG_ON--->0
<4>[04-09 18:47:22.280000] [1265: insmod]bcm_detect_card: (ed947400), call
<4>[04-09 18:47:22.290000] [1265: insmod]
<4>[04-09 18:47:22.290000] [1265: insmod]Dongle Host Driver, version 5.90.125.16.1
<6>[04-09 18:47:22.350000] [12: kmmcd]mmc1: new high speed SDIO card at address0001
<4>[04-09 18:47:22.360000] [12: kmmcd]dhd_customer_oob_irq_map: customer specific Host GPIO number is (19)
<4>[04-09 18:47:22.360000] [12: kmmcd]BCM4330B2 found!
<4>[04-09 18:47:22.360000] [12: kmmcd]DHD: dongle ram size is set to 294912(orig 294912)
<4>[04-09 18:47:22.360000] [12: kmmcd]shaohua set pfn_dhd e272f0b0
<4>[04-09 18:47:22.360000] [12: kmmcd]load firmware from /system/etc/fw_4330b2.bin
<4>[04-09 18:47:22.490000] [12: kmmcd]Firmware version = ver
<4>[04-09 18:47:22.610000] [12: kmmcd]eth0: Broadcom Dongle Host Driver mac=68:1a:b2:cc:ba:ee
<4>[04-09 18:47:22.610000] [12: kmmcd]Exited wl_control_wl_start[/code]

However, this does not translate in to working Wi-Fi as I'm guessing something that usually happens during start up doesn't happen. We only get THIS far when I enter the insmod command in this way. I need a break, but we've definitely made progress.

Anyone seen tilal? *hint hint* ;) I need someone else's input.

Edited by Dazzozo
Link to comment
Share on other sites

Guest CurtisAndroidSF2

I wish I had knowledge with Android development so I could help out. I'm so excited to get CM9 onto my device!

It looks like you're getting closer to fixing the wifi so it shouldn't take too long, do all basic phone uses work such as calls, texts, 3g etc?

Link to comment
Share on other sites

Guest Dazzozo

I wish I had knowledge with Android development so I could help out. I'm so excited to get CM9 onto my device!

It looks like you're getting closer to fixing the wifi so it shouldn't take too long, do all basic phone uses work such as calls, texts, 3g etc?

Yeah all the radio/RIL functions work.

Anyway, who am I kidding. I can't stay away from this stuff.

It only works if I enter that kind of command line on insmod. If I just do "insmod dhd.ko dhd_msg_level=3" we get a lovely dose of memory leak.

<4>[04-09 19:02:32.950000] [12: kmmcd]shaohua set pfn_dhd c94860b0
<4>[04-09 19:02:32.950000] [12: kmmcd]dhdsdio_probe: failed
<4>[04-09 19:02:32.950000] [12: kmmcd]dhd_osl_detach: MEMORY LEAK 140 bytes[/code]

Link to comment
Share on other sites

Guest RedZombie

Don't want to interrupt the work you're doing but have noticed an unrelated bug, clearly not a priority but I'll forget otherwise:

SMS notification sounds 3 times for one message if received whilst in the messaging app and only first line of SMS content scrolls on status bar. Not very important I know but for the bug log :-)

Link to comment
Share on other sites

Guest Dazzozo

Don't want to interrupt the work you're doing but have noticed an unrelated bug, clearly not a priority but I'll forget otherwise:

SMS notification sounds 3 times for one message if received whilst in the messaging app and only first line of SMS content scrolls on status bar. Not very important I know but for the bug log :-)

Noted. Mostly after someone else's input on the Wi-Fi findings before I proceed.

Link to comment
Share on other sites

Guest tilal6991

I'm here. Progress indeed.

Very interesting logs. Not sure why it wouldn't work. All the firmwares and nvrams in the correct places?

Link to comment
Share on other sites

Guest Dazzozo

I'm here. Progress indeed.

Very interesting logs. Not sure why it wouldn't work. All the firmwares and nvrams in the correct places?

I'm pretty sure I haven't touched Wi-Fi since I forked Fuzzra, and it definitely hasn't changed between the last two builds.

Edit: going to make myself absolutely sure.

Edit 2: BoardConfig.mk and device_blade2.mk are identical when it comes to Wi-Fi and all the files are still in prebuilt.

Edit 3: The Reason I was using /vendor/ in the insmod command was because I found some guy having done the same from a quick Google, the files are identical to those in /system/etc/, I just pushed them to vendor too.

Edit 4: Yeah, /vendor/ can't be making much of a difference. If you look at the output from the command, I specify the files in /vendor/ but it loads the firmware from /system/etc/ anyway.

Edit 5: Going to see what the bare minimum I need to give to the command is.

Edit 6:

insmod dhd.ko firmware_path=/vendor/firmware/fw_4330b1.bin - succeeds

insmod dhd.ko - fails, memory leak

Doesn't matter whether I give the B1 firmware or the B2 firmware, but it needs one of them.

Edit 7:

Huh? No it doesn't. It needs SOMETHING. I can put a completely non-existant file in. insmod dhd.ko firmware_path=/lol works.

Edit 8:

This is stupid.

root@android:/system/lib/modules # insmod dhd.ko firmware_path=/

<4>[04-09 20:30:50.040019] [1800: insmod]request success
<4>[04-09 20:30:50.040019] [1800: insmod]wlan_wake_up_gpio request success
<4>[04-09 20:30:50.040019] [1800: insmod]WLAN_REG_ON--->0
<4>[04-09 20:30:50.249999] [1800: insmod]bcm_detect_card: (ed950400), call
<4>[04-09 20:30:50.260000] [1800: insmod]
<4>[04-09 20:30:50.260000] [1800: insmod]Dongle Host Driver, version 5.90.125.16.1
<6>[04-09 20:30:50.320000] [12: kmmcd]mmc1: new high speed SDIO card at address0001
<4>[04-09 20:30:50.330000] [12: kmmcd]dhd_customer_oob_irq_map: customer specific Host GPIO number is (19)
<4>[04-09 20:30:50.330000] [12: kmmcd]BCM4330B2 found!
<4>[04-09 20:30:50.330000] [12: kmmcd]DHD: dongle ram size is set to 294912(orig 294912)
<4>[04-09 20:30:50.330000] [12: kmmcd]dhd_early_suspend: dhd is not attach,skipit!
<4>[04-09 20:30:50.340000] [12: kmmcd]shaohua set pfn_dhd e279a0b0
<4>[04-09 20:30:50.340000] [12: kmmcd]load firmware from /system/etc/fw_4330b2.bin
<4>[04-09 20:30:50.470000] [12: kmmcd]Firmware version = ver
<4>[04-09 20:30:50.580000] [12: kmmcd]eth0: Broadcom Dongle Host Driver mac=68:1a:b2:cc:ba:ee
<4>[04-09 20:30:50.580000] [12: kmmcd]Exited wl_control_wl_start[/code]
[code]root@android:/system/lib/modules # insmod dhd.ko

<4>[04-09 20:32:02.200000] [1811: insmod]request success
<4>[04-09 20:32:02.200000] [1811: insmod]wlan_wake_up_gpio request success
<4>[04-09 20:32:02.200000] [1811: insmod]WLAN_REG_ON--->0
<4>[04-09 20:32:02.410000] [1811: insmod]bcm_detect_card: (ed950400), call
<4>[04-09 20:32:02.420000] [1811: insmod]
<4>[04-09 20:32:02.420000] [1811: insmod]Dongle Host Driver, version 5.90.125.16.1
<6>[04-09 20:32:02.480000] [12: kmmcd]mmc1: new high speed SDIO card at address0001
<4>[04-09 20:32:02.490000] [12: kmmcd]dhd_customer_oob_irq_map: customer specific Host GPIO number is (19)
<4>[04-09 20:32:02.490000] [12: kmmcd]BCM4330B2 found!
<4>[04-09 20:32:02.500000] [12: kmmcd]DHD: dongle ram size is set to 294912(orig 294912)
<4>[04-09 20:32:02.500000] [12: kmmcd]dhd_early_suspend: dhd is not attach,skipit!
<4>[04-09 20:32:02.500000] [12: kmmcd]shaohua set pfn_dhd e279a0b0
<4>[04-09 20:32:02.500000] [12: kmmcd]dhdsdio_probe: failed
<4>[04-09 20:32:02.500000] [12: kmmcd]dhd_osl_detach: MEMORY LEAK 140 bytes

Additionally, when I boot up, lsmod reports nothing, almost as if the module hasn't even TRIED loading. It can't even be failing to start - it would still show up in lsmod even if the latter log here happened.

The dhd.ko I'm using is one ripped out of FLB2, which appears to yield the same result as Fuzzra's dhd.ko (though md5sum claims they're different). At this stage I don't think anyone has compiled a dhd.ko for this phone going by discussions in the kernel source thread back in December. The one provided by ZTE, well.

Yes. Also the dhd.ko that is built from source wants fw_4319 and fw_4329 firmware, not fw_4330 that the Blade2 uses.I'm getting a bit of a headache already.

hm.. doesn't help that the kernel source doesn't even have the BCM4330 code in it..

Edit 9: Thanks to PsYcHoKiLLa: http://forum.xda-developers.com/showpost.php?p=24527354&postcount=71

Edit 10: I think our best, long-term bet would be trying to fix up Fuzzra's bcm4330_b1_b2_zte driver. I have absolutely no idea how to go it alone, though.

So, summary so far. As far as I understand it, the pre-compiled dhd.ko given by ZTE seems to support the bcm4330 in the Crescent. However, they didn't release the code for this when they released the kernel source and the dhd.ko we can compile (without Fuzzra's modifications) results in something that only supports bcm4319 and bcm4329. With Fuzzra's modifications we get something that doesn't seem to work anymore, and ZTE's dhd.ko seems to have these weird behavioural issues.

I have no idea if I'm right on any of this, by the way. That's just what I can piece together.

Edited by Dazzozo
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.