<Bilgus>get your PI up<Bilgus>plug your extra usb stick<Bilgus>and NOT the device yet<Bilgus>do sudo fdisk -l and sudo lsblk<Bilgus>get all the info for whats already on the system<Bilgus>I'm guessing on the PI you are running NOOBs and that has some gotchas<PI_USER>Yes im running raspbian<Bilgus>when you get all that done start the ZIP as normal and do fdisk and lsblk again<Bilgus>(after you plug it in)

<Bilgus>now you will disconnect the device run the recovery.sansa file and wait till the init message disappears and plug it in to usb

<Bilgus>do fdisk -l and lsblk again to see what they are now, sometimes it changes sometimes not<Bilgus>you will need to wait till the WaRNING RECOVERY MODE message shows up and a bit after that before fdisk and lsblk will show anything<PI_USER>the messege appeared immediately

<Bilgus>Give me a few I'm going to make a new recovery firmware for the clipzip with longer timouts<Bilgus>compiling now i'll upload itwhen done<Bilgus>https://www.mediafire.com/folder/pyydmx9m5zi1d/Recovery_Images<Bilgus>its in the clipzip folder<Bilgus>ok same thing again <Bilgus>let me know when you get to..<Bilgus>dd if=/dev/sdX of="/media/pi/NEW VOLUME/clip_zip_hidden.img" bs=512 count=$((0xf000))<Bilgus>don't forget sudo<Bilgus>once thats done type sudo chmod 666 "/media/pi/NEW VOLUME/clip_zip_hidden.img"

<Bilgus>you will start the recovery FW wait for init message to disappear plug USb wait for warning message do sudo lsblk<Bilgus>figure out drive do dd again replace X with your drives letter<Bilgus>see if it completes without error<Bilgus>in this firmware I upped all the timeouts and retries are way higher so hopefully its able to complete<PI_USER>ok, dd is running<PI_USER>pi@raspberrypi:~ $ sudo dd if=/dev/sdb of="/media/pi/NEW VOLUME/clip_zip_hidden.img" bs=512 count=$((0xf000)) <PI_USER>dd: error reading ‘/dev/sdb’: Input/output error 3040+0 records in 3040+0 records out 1556480 bytes (1.6 MB) copied, 83.6416 s, 18.6 kB/s<Bilgus>ok lets keep going<PI_USER>ok<Bilgus>sudo chmod 666 "/media/pi/NEW VOLUME/clip_zip_hidden.img"<Bilgus>here we are removing sudo from the file you wrote

<Bilgus>hexdump "/media/pi/NEW VOLUME/clip_zip_hidden.img" -C -n 5000 > "/media/pi/NEW VOLUME/clip_zip_hidden.txt"<Bilgus>paste the contents<PI_USER>the zip panicked<PI_USER>white screen<Bilgus>nbd just disconnect it and long press power to turn it off<Bilgus>we'll come back to it

<PI_USER>3040+58400 records in 61440+0 records out 31457280 bytes (31 MB) copied, 103.197 s, 305 kB/s<Bilgus><Bilgus> dd if=/dev/sdb of="/media/pi/NEW VOLUME/clip_zip_hidden.img" bs=512 count=$((0xf000)) iflags=direct<Bilgus> Email the dump to me <REMOVED><PI_USER>7z does a good job, 1 mb instead of 32<PI_USER>tho it is mostly 0's so it should be easy for it...<Bilgus>that probably means lots of 0's

<Bilgus>I literally just opened the dump file in a hex editor and looked through it<PI_USER>but those 0;s represent?<Bilgus>the image has 00 where it couldn't read<Bilgus>but there are places filled with 00 in the drive anyways<Bilgus>so i compared the 00's in your file to the ones in my firmware dump

<Bilgus>ok so what we will try now is to pull just the parts we need to replace<Bilgus>give me a second to build the dd command for you<Bilgus>if player isn't already connected go ahead and do that now and get me the sdb sdc etc<PI_USER>in normal firmware or recovery<Bilgus>in recovery mode<PI_USER>its sdb

<PI_USER>I dont see errors<Bilgus>cool now sudo chmod 666 "/media/pi/NEW VOLUME/clip_zip_hidden.img"<Bilgus> and finally hexdump -C -n5000 "/media/pi/NEW VOLUME/clip_zip_hidden.img" > dump.txt<Bilgus>I can only skip whole sectors so I need to see where to start so we can copy over our new file<PI_USER>done hexdumping

<Bilgus>just get this done so danger is past<PI_USER>2048+0 records in 2048+0 records out 1048576 bytes (1.0 MB) copied, 1.00955 s, 1.0 MB/s<Bilgus>once that is all done don't disconnect<PI_USER>it's just 1 MB?<Bilgus>we did the last part then the first part

<Bilgus>ok next at your leisure Send me a new dump dd if=/dev/sdX of="/media/pi/NEW VOLUME/clip_zip_hidden.img" bs=512 count=$((0xf000)) conv=sync,noerror<Bilgus>I just need to check that everything copied right before you disconnect and reboot the player

<Bilgus>one extra thing lets dump a bit of the drive after the firmware area just to make sure the drive is still intact<Bilgus>ok next at your leisure Send me a new dump dd if=/dev/sdb of="/media/pi/NEW VOLUME/clip_zip_drive_cur.img" bs=512 skip=$((0xF000)) count=$((0xf000)) conv=sync,noerror<Bilgus>that should be the first 32 mb of the actual drive you see when the player isn't in recovery mode

<PI_USER>im back and the dd you told me to run is done, the zip panicked<Bilgus>ok well no choice then, go ahead and disconnect and long press power

<PI_USER>loading of firmware file not found<PI_USER>plug usb cable, thats the zip talking<Bilgus>good sign though, ok plug in the usb cable<Bilgus>actually do you have the multiboot fw on your flash card yet?<Bilgus>so the .rockbox folder will be in the root of your sdcard<Bilgus>its this one http://www.mediafire.com/file/a6ndfooqpdopo2o/MultiBoot_FW_ClipZip_5-22-17_rockbox-full.zip<Bilgus>open the zip and copy the .rockbox folder to the root of the sdcard<Bilgus>when done copying make a file on the sdcard root called rockbox_main.clipzip open it and put a single / in it save and close<Bilgus>ok try restarting the player only a single '/' in the rockbox_main file right?<PI_USER>the one on sd card? yeah<Bilgus>ok try restarting it<PI_USER>ok, starts normally

<Bilgus>go to debug menu<PI_USER>debug menu?<Bilgus>it worked but lets double check

<Bilgus>system>debug>boot info<PI_USER>oh, ok boot data you mean

<Bilgus>just the fact you see that yes we booted from the sdcard<Bilgus>as long as it says root <1> and crc: ok! its all good<PI_USER>oh good!<PI_USER>root <0><Bilgus>hmm might be because it didn't find the internal drive

<Bilgus>ok you want to redo the internal drive now?<Bilgus>go ahead and shut down the player<PI_USER>hahhaha it really doesnt show the internal storage in file manager<Bilgus>eject the sdcard, reconnect after you turn it on<Bilgus>plug in the clipzip to usb like normal<Bilgus>and then do sudo lsblk<PI_USER>its sdb again<Bilgus>lets finish fixing the internal drive<Bilgus>ok so now type mkfs.msdos -F 32 /dev/sdb<PI_USER>mkfs.fat 3.0.27 (2014-11-12) mkfs.msdos: Device partition expected, not making filesystem on entire device '/dev/sdb' (use -I to override)<Bilgus>I'm guessing we wiped out a bit of the internal drive table which not a huge deal but we will reformat it now to fix it<Bilgus>ok so now type mkfs.msdos -F 32 /dev/sdb1<PI_USER>no such file or dir<Bilgus>being that its not setup with a partition we might have to force it with -I<Bilgus>ok so now type mkfs.msdos -I -F 32 /dev/sdb<PI_USER>done, no messege, like a good linux program<Bilgus>ok power off player<Bilgus>insert sd card<Bilgus>power on and in file browser should have the internal drive<PI_USER>looks like microsd0<Bilgus>should have 0 and 1<PI_USER>yeah have 0 which is empty and 1 which is sd<Bilgus>the sansas consider the internal drive and the sdcard to be sd cards<Bilgus>ok 0 is your internal drive now for words of warning<Bilgus>open sdcard1<Bilgus>long press and choose start here in the list

<Bilgus>now some warnings<Bilgus>yes because its running from there but it will essentially hide the internal<Bilgus>any file you copy to that internal drive rather than the sdcard is one step closer to a bricked device<Bilgus>maybe not the next file maybe not the 100th but one of them will be the last file you ever copy to it<Bilgus>you can boot into the OF now but it really hits that drive hard so try not to<PI_USER>why, what does it do<Bilgus>it does a lot of reads and writes<PI_USER>its not like im recording data..<Bilgus>the OF has a database of all files on the device thats why it always wants to refresh the darn thing<Bilgus>each time it refreshes that database it reads every file and writes their names to another file<PI_USER>is there a way to make rockbox not look at internal storage when making it's own databases?<Bilgus>rockbox doesn't do that, and yes there is but no reason to<Bilgus>booting from sd card makes it so rockbox doesn't use the internal drive<Bilgus>rb only builds the database on demand and when stuff changes it just writes the differences to a new file

<PI_USER>so can I update now normally? with util or by hand?<Bilgus>no you will need a sd card capable firmware to upgrade<Bilgus>so yes you can upgrade by hand but it needs to be a special firmware

<PI_USER>and is there a way to easily compile such firmware on demand?<Bilgus>Yes you can compile your own with the proper patches<Bilgus>http://forums.rockbox.org/index.php/topic,51844.0.html<Bilgus>I wrote up the instructions here<Bilgus>its not easy but Its step by step<PI_USER>is there an easy way to make it automatic? like with bash or something<Bilgus>johnb I think did that you might ask him for his script