Rockbox

Tasklist

FS#11791 - Some Fuzev2 models freeze on Rockbox logo while loading firmware

Attached to Project: Rockbox
Opened by Michael Chicoine (mc2739) - Friday, 03 December 2010, 00:51 GMT
Last edited by Michael Chicoine (mc2739) - Tuesday, 22 February 2011, 14:07 GMT
Task Type Bugs
Category Drivers
Status Closed
Assigned To No-one
Operating System Another
Severity Low
Priority Normal
Reported Version Release 3.7.1
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

The Fuzev2 will freeze after displaying the bootloader logo while the firmware logo is displayed.

This has been discussed on the forums here: http://forums.rockbox.org/index.php?topic=26055.0

Forum user Super_Dork_42 has sent me his failing Fuzev2 for testing, and I have found the following:

1. Builds later than r27502 (including v3.7 and v3.7.1) freeze on the firmware logo screen.
2. Build r27501 boots properly, but the FM Radio is not detected.
3. The OF diagnostic info shows HERMON/Si4702
4. si4700_read_reg(DEVICEID) returns 0xC834 not the 0x1242 expected for si4702
This task depends upon

Closed by  Michael Chicoine (mc2739)
Tuesday, 22 February 2011, 14:07 GMT
Reason for closing:  Fixed
Additional comments about closing:  Fixed with r29378 (trunk) and r29379 (v3_8)
Comment by Bertrik Sikken (bertrik) - Friday, 03 December 2010, 14:04 GMT
SVN r27502 enabled detection of a new radio tuner (RDA5802) in addition to the already existing one (SI4700/4702).
Tuner detection tries to be very gentle about accessing the device, just reading the chip/device id and nothing more. The si4702 and the rda5802 do use the same i2c address though.

Did the radio ever work in rockbox before SVN r27502?

Can you try to read the other radio registers too (perhaps with some hack to disable some check)? Perhaps we can see some pattern there (or identify some other chip).

Causes I can imagine for this problem:
* SI4702 is quite finicky with the start up sequence (although reading radio registers should always work AFAIK)
* perhaps the fm radio i2c interface is working too fast for the fuze v2. Can you try to double the delays in firmware/target/arm/as3525/fmradio-i2c-as3525.c ? (line 130, change udelay(delay); into udelay(2 * delay); for example)
* the fuze v2 needs a special bit in CCU_IO which is undocumented, perhaps this has some side effect.
Comment by Michael Chicoine (mc2739) - Friday, 03 December 2010, 19:20 GMT
I do not know if the radio ever worked in svn before r27502. I'll try some earlier revisions when I get back home.

I will also try reading additional registers and varying the delay settings.

The freeze is not caused by the detection. Both detections in tuner-as3525v2.c come back false which forces the code to fall through to the return 0. As a test, I changed the return 0 to return SI4700 and the Fuzev2 does complete the firmware load.
Comment by Michael Chicoine (mc2739) - Sunday, 19 December 2010, 03:48 GMT
The Fuze I am testing seems to have a hardware problem as the radio is also failing in the OF.

To further test the freeze problem, I forced tuner-as3525v2.c to return RDA5802. The firmware finishes loading as it did when I forced a return of SI4700. In each case, no radio item is listed in the main menu (as expected). The freeze only happens when tuner-as3525v2.c returns 0.
Comment by Nichlas Eklöf (Nichlas) - Saturday, 08 January 2011, 09:57 GMT
I tried the same thing you did, and got the same results with Rockbox (Thanks by the way, first time i can use rockbox in months).
However, with the radio disabled this way in rockbox, it suddenly works in OF. I cant think of a reason why this is.
Any ideas?

Loading...