Third Party > Unsupported Builds

[share]custom rockbox build for SSDed ipod6g(classic)

(1/2) > >>

r4bbit:
background:
i have a SSDed ipod classic.i keep getting panic error of disk write. sometime its "dc_writeback_callback() - Could not write sector xxxx",sometimes its other error.
it happens several times per hour while listening music.and happens almost every time i unplug usb cable.
it also freezes about one time per hour,without any error shown on screen,usually happens after i pressed some button.
(my ipod also freeze after i play some ape with compress level larger than 4000, but this is as expected,since the limitation of cpu peformance,https://www.rockbox.org/wiki/CodecPerformanceComparison.the freezed i mentioned above doesnt include this kind of freeze )
it also happened one time that i keep getting panic error of dc_writeback_callback and could not log into rockbox ,nor could i connect it to computer and use the disk mode .i thought my ssd was dead. but it wasnt.after i flashed the apple official firmware and format my ssd and reflash rockbox.it works again. 

looks very like a disk driver issue.
i read it on the forum that the disk driver of ipod is reverse-engineered from an old official firmware of apple and its not designed for ssd,so rockbox doesnt work well on SSDed device.(sorry i cant find the link at the moment)

solution:
i modified source code and made a custom build.
https://drive.google.com/file/d/0B3ow0cQpIx1famljZy1Hanp6UEE

https://github.com/wangyu-/rockbox-modified (new link as in 2024)

i doubled the long int "ata_sleep_timeout"  and doubled timeout value of every usage of “TIMEOUT_EXPIRED" marco in firmware/target/arm/s5l8702/ipod6g/storage_ata-ipod6g.c。
i also disabled support of ape with compress level of 4000 and 5000 by the way by modificating lib/rbcodec/codecs/demac/libdemac/parser.c,bc ipod6g cant really play them in real time,all you can get from them is just intermittent sound and a freezed device...

after using this build,problem solved(at least on my device).my device had been running for 11hours before it freeze,no panic error any more,it eventually freezed though,but much more stable.
if this build also solves your problem,leave a message plz.if this is useful for many people,maybe we can merge the change into official build.

__builtin:
Hi, and welcome to the forums.

I see that you've provided a modified build, which is fine, but you haven't provided the source which it was built from. Can you please provide a link to it?

__builtin

r4bbit:

--- Quote from: __builtin on February 15, 2017, 03:46:06 PM ---Hi, and welcome to the forums.

I see that you've provided a modified build, which is fine, but you haven't provided the source which it was built from. Can you please provide a link to it?

__builtin

--- End quote ---
hi,__builtin. thx and thx for reminder.

the code i modified was base on the latest master branch cloned a few days ago from https://github.com/Rockbox/rockbox.git

code version(last commit id):
eaf6aad690927ab0abfaae5276ef6561b334f803

patch of my modification:
https://drive.google.com/open?id=0B3ow0cQpIx1fUi1BVGRmeUIwNEU

https://github.com/wangyu-/rockbox-modified/commits/master/ (new link as in 2024)

Massa:
Hmm, I don't get it - why does doubling a timeout value make it more reliable for SSDs?
Aren't SSD faster than HDs and therefore shouldn't need longer timeouts?  ???

I'm confused!

saratoga:
His SSD is probably not made for use in a DAP that will go 30 minutes at a time without accessing it, so it probably powers off and has to reboot when he access it again.  The stock hard drives are made to work for portable devices so they are always ready to talk to the host. 

Navigation

[0] Message Index

[#] Next page

Go to full version