Rockbox Technical Forums

Rockbox Development => New Ports => Topic started by: ii on March 04, 2014, 05:01:31 PM

Title: iBasso DX50
Post by: ii on March 04, 2014, 05:01:31 PM
The old topic is closed, so have to start this new one, with some new details.
iBasso DX50 is android-based, but is not nearly capable of running the android port of rockbox.
This because the original firmware has nothing for java code support; instead, the player software is fully written in C/C++ with android ndk.
It's easy to modify the firmware contents; enable adb; run custom code and access internal devices.

Current status:
 - almost done
 - sound (including spdif), screen, touchscreen, buttons, headphones detection, filesystem, battery readout, volume control, backlight control, poweroff/reboot working
 - dual boot scheme working, with swapping both player and vold
 
 
TODO:
 - install process for users
 - capture power button longpress for turnoff (how?)
 - settings save
 - screen turnoff
 - better keymap, e.g. in equalizer
 - hires audio (?)
 - prepare code branch for merging back into master

Sources + downloads: https://bitbucket.org/isergachev/rockbox/wiki/Home
Possible developers / advanced users are welcome.
Title: Re: iBasso DX50 (again, please merge/reopen previous one)
Post by: ii on March 07, 2014, 01:46:15 PM
-
Title: Re: iBasso DX50 (again, please merge/reopen previous one)
Post by: wodz on March 07, 2014, 02:18:32 PM
I can't wrap my head around this - android without dalvik. That would be pure linux then.
Title: Re: iBasso DX50 (again, please merge/reopen previous one)
Post by: saratoga on March 07, 2014, 02:34:27 PM
I can't wrap my head around this - android without dalvik. That would be pure linux then.

Perhaps they took a SOC that had Android support and simply targeted the Linux parts rather than Dalvik?  Certainly a strange result, but I guess nowadays android is replacing traditional embedded linux so maybe thats all the SOC came with. 

Edit:  Renamed title since we certainly won't be deleting this thread.
Title: Re: iBasso DX50
Post by: Songs0fFailure on March 08, 2014, 06:02:16 PM
saratoga,
mb not enough ram ? DX50 based on Rockchip RK2926, DX100 - RK2918.
Quote
RK2926/RK2928 is updated from RK2918, and they are changed in the old architecture of previous generation products, using the new Cortex-A9 architecture
btw, for hi-end HiFiMan HM901(Ingenic JZ4760B) used Android too. for mips! freaky! FiiO X5\X3 based on JZ4760 used µC/OS-II.
Title: Re: iBasso DX50
Post by: ii on March 08, 2014, 06:29:29 PM
saratoga,
mb not enough ram ? DX50 based on Rockchip RK2926, DX100 - RK2918.
Quote
RK2926/RK2928 is updated from RK2918, and they are changed in the old architecture of previous generation products, using the new Cortex-A9 architecture
btw, for hi-end HiFiMan HM901(Ingenic JZ4760B) used Android too. for mips! freaky! FiiO X5\X3 based on JZ4760 used µC/OS-II.

root@android:/ # cat /proc/meminfo
MemTotal:         408348 kB
MemFree:          375400 kB
Title: Re: iBasso DX50
Post by: Wardormeur on March 09, 2014, 09:10:46 AM
#sage
I have been stuck at activating adb, i played with every damn parameters of the configs file to get no results. Will your git include the whole image or just the RB sources?
Title: Re: iBasso DX50
Post by: ii on March 09, 2014, 11:10:08 AM
Right now I'm only working on rockbox inself.
Of course we will need to develop some kind of installer later.

Enabling adb is as easy as
setprop persist.sys.usb.config adb
setprop persist.usb.debug 1
; see /bin/openadb in stock firmware.

You can get an adb-enabled image of 1.2.8 at https://mega.co.nz/#!Ih5QTJzI!0DXEqNgJBWeK1QFqTeOhXW5KaH6LP4Vi0M38Wtd2PZM
Title: Re: iBasso DX50
Post by: wodz on March 10, 2014, 08:15:49 AM
I looked at your repo and this port looks much more like other hosted linux ports then android. Anyway nice to see progress. I strongly recommend to pop-up on IRC.
Title: Re: iBasso DX50
Post by: ii on March 10, 2014, 08:38:04 AM
I looked at your repo and this port looks much more like other hosted linux ports then android. Anyway nice to see progress. I strongly recommend to pop-up on IRC.

Sure! It's a linux. But android config of rockbox uses ndk, that's why I've chosen it.
Someone will have to explain me later what is the proper way for integrating this port into the build system.
Ok, going to IRC.
Title: Re: iBasso DX50
Post by: Wardormeur on March 11, 2014, 05:21:29 PM
Right now I'm only working on rockbox inself.
Of course we will need to develop some kind of installer later.

Enabling adb is as easy as
setprop persist.sys.usb.config adb
setprop persist.usb.debug 1
; see /bin/openadb in stock firmware.

You can get an adb-enabled image of 1.2.8 at https://mega.co.nz/#!Ih5QTJzI!0DXEqNgJBWeK1QFqTeOhXW5KaH6LP4Vi0M38Wtd2PZM
Duh. Thanks for both.
I love the trick to boot on rockbox with the ln -s :D
I'll try to lend you a hand, even though im not a RB core dev :)

Edit : let's start with ? : http://www.rockbox.org/wiki/PortingHowTo
Edit2 : by installing directly through adb, the backup system will reinstall the backup image booting on mangoplayer, right?
Title: Re: iBasso DX50
Post by: ii on March 12, 2014, 01:21:21 PM
I love the trick to boot on rockbox with the ln -s :D
I'll try to lend you a hand, even though im not a RB core dev :)

Edit : let's start with ? : http://www.rockbox.org/wiki/PortingHowTo
Edit2 : by installing directly through adb, the backup system will reinstall the backup image booting on mangoplayer, right?

Actually I've done a simple launcher, which captures keypresses, manages symlinks and allows switching players.
The launcher replaces MangoPlayer at /system/bin. I'll share its source.

Do you mean that you want to write proper config for building for dx50 separately from android? That would be great!
Title: Re: iBasso DX50
Post by: Wardormeur on March 12, 2014, 05:06:31 PM


Actually I've done a simple launcher, which captures keypresses, manages symlinks and allows switching players.
The launcher replaces MangoPlayer at /system/bin. I'll share its source.
So you actually can "double boot" somehow, nice !
Quote
Do you mean that you want to write proper config for building for dx50 separately from android? That would be great!
I dont really get your point. If i am right, you're actually using the android RB port, however going through the "original" port of RB would require cross compiling. It's doable, but it's a choice to make at the beginning of the project, since both ports are quite different to my knowledge.
Title: Re: iBasso DX50
Post by: ii on March 12, 2014, 05:19:56 PM
So you actually can "double boot" somehow, nice !

I dont really get your point. If i am right, you're actually using the android RB port, however going through the "original" port of RB would require cross compiling. It's doable, but it's a choice to make at the beginning of the project, since both ports are quite different to my knowledge.

Yes, dualboot.
I mean, soon or late we have to split from android port and create another config entry in tools/configure + separate folders, sources etc.
Android port does not need the modifications I've made to it :)
Title: Re: iBasso DX50
Post by: saratoga on March 16, 2014, 12:24:08 AM
I saw a comment about the SOC not having a real time clock that persisted between runs.  That is very strange.  Which SOC is the DX50 using?
Title: Re: iBasso DX50
Post by: ii on March 18, 2014, 10:59:29 AM
RK2928.
simple check: you start it up and run 'date' in adb shell
it runs from epoch after each power-on
Title: Re: iBasso DX50
Post by: serafko on March 28, 2014, 02:30:51 AM
I have iBasso DX50 running ROCKbox very well. I am wondering if port for iBasso DX50 will become official port listed and sownloadable from this portal?
Title: Re: iBasso DX50
Post by: [Saint] on March 28, 2014, 10:57:02 PM
If/when the developer splits it out from the current RaaA for Android build and it becomes its own target in our configure/build system, and assuming the code meets style and licensing guidelines - then, you will see it hit the front page.

Until then, patience.


[Saint]
Title: Re: iBasso DX50
Post by: serafko on March 30, 2014, 03:56:04 PM
If/when the developer splits it out from the current RaaA for Android build and it becomes its own target in our configure/build system, and assuming the code meets style and licensing guidelines - then, you will see it hit the front page.

Until then, patience.


[Saint]

Thank you.
Title: Re: iBasso DX50
Post by: sduck on April 26, 2014, 06:21:18 PM
I'm using this version of rockbox on my DX50, and it works great, mostly!

The Random Folder Advance Configuration plugin isn't working - it just counts up to some crazy high number endlessly until stopped manually. I'm hoping this can get fixed fairly soon, as this is an important feature for me. Unless there's a workaround way to get it working? Manually creating a folder list or something?
Title: Re: iBasso DX50
Post by: nick_p on April 26, 2014, 10:59:20 PM
I don't use the plugin myself, but have you tried limiting the search to the directories with your audio in with /.rockbox/folder_advance_dir.txt?

http://download.rockbox.org/daily/manual/rockbox-sansaclipzip/rockbox-buildch12.html#x15-30000012.4.14
Title: Re: iBasso DX50
Post by: sduck on April 27, 2014, 12:18:38 AM
Thanks, I'll give it a shot. Tomorrow maybe.

Edit - it works! Thanks for the pointer. Note to others wanting to use this fix - just a simple .txt file named folder_advance_dir.txt containing these lines:

/mnt/external_sd/
/sdcard/

(assuming you have a micro sd card, if not omit the first line) - place this in your .rockbox directory, you're done! Run the random folder advance config plugin. When editing the list you can delete items by swiping to the left - it's kind of hit and miss until you figure it out, but it works.
Title: Re: iBasso DX50
Post by: cholero on April 28, 2014, 05:57:15 PM
I really hope that "Il" will find the time to adapt his source to make it compatible to the the official build mechanism and to finally introduce it as an official build.
I'm pretty much done with the graphic for the DX50. So at least there will be one little thing less to do:
(http://abload.de/img/dx50_xgjvf.png)
Title: Re: iBasso DX50
Post by: [Saint] on April 28, 2014, 09:40:26 PM
Its slightly unfortunate that this port came to life in the way it did, but hardly the end of the world.

If I were to speculate I would say that ii created this initially for his/her sole usage, so modifying an existing target was seen to be the best course of action. Its not really a huge issue, it just makes it slightly inconvenient at this stage when it comes time to sever the two.


[Saint]
Title: Re: iBasso DX50
Post by: cholero on July 26, 2014, 01:50:10 PM
Hello everyone.
As everybody here knows, Il made a working port which is available at
https://bitbucket.org/isergachev/rockbox/wiki/Home
I can't say enough times "thank you!" for that Il!
And: some more good news: headwhacker@head-fi (and a bit me) made the necessary changes to make it work on DX90 which is a very similar device.

But what Il did is modifying the "android" target instead of making a new target (what of course makes it much easier to start).
His intention was to make the target an official port one day, but I think that he is very busy and that day will be very far from today  ;)
So even if i'm not a experienced programmer (specially 0% knowledge of android) I look at it as my destiny to make this port rockbox compliant, because otherwise it will always be dependent on Il. Maybe I will need a little help and hope that some experienced rockboxers will help me a little bit.

So one of my questions is: Am I doing the right things now. Because the work is not much fun, I only want to do it if it is worth it.
Ok, what I did was a checkout of Il's code and the official rb code at the same revision and did a recursive diff. Then I started with the tools/configure and added the 2 Targets. My goal is to make it possible that android targets compiles as before and that there will be DX90 and DX50 that compile like with Il's sources.

More questions:

I will have much more problems, but this are my first ones.... 
Title: Re: iBasso DX50
Post by: kugel. on July 26, 2014, 03:00:21 PM
"Reserve numbers" in what way?

I think tinyalsa is clearly acceptable if it makes the port easier/more stable.
Title: Re: iBasso DX50
Post by: cholero on July 26, 2014, 03:04:28 PM
the number of the target.
But nevermind, updating the configure script will be the smallest thing compared to the whole new port.

And about tinyalsa, I'm not sure but maybe he only included it because alsa libs are not included in the SDK by default.
Title: Re: iBasso DX50
Post by: cholero on August 03, 2014, 03:35:36 PM
Hello everyone. Just a status update:
I've finished to put all changes that Il did into separate files or comment out by ifdef for the 2 new targets DX50 and DX90 and I successfully compiled rockbox for DX50 :) :).
What I will do next are some code cleanups. I will also have to make new definitions that are unique for this port until now but could be helpful for new ports in the future in /rockbox/firmware/export/config/ibassodx50.h and ...dx90.h (something like "tinyalsa", "use_jni" and "android-standalone")
Title: Re: iBasso DX50
Post by: saratoga on August 03, 2014, 04:15:30 PM
Once its compiling cleanly, you should post your changes to gerrit so that other people can review them and provide feedback.  Its usually best to get that early rather than later. 
Title: Re: iBasso DX50
Post by: cholero on August 03, 2014, 04:42:09 PM
Thanks!
I will do that after some cleanup. I will also have to try out if the target "android" is still compiling as it should.
Title: Re: iBasso DX50
Post by: cholero on August 24, 2014, 04:25:34 PM
Hello. My status in this project is that i'm quite far but I still would like to optimize some things first before doing a commit.

But why i'm writing is that i need some help from a developer. Ilias port has always had the problem that as soon as playback starts, all timer acitities are slowed down by a factor around 2.3 (backlight timeout, scrolling acceleration, stopwatch, etc.) . When playback stops or is on pause, everything is normal again. can it be that a timer tick takes too long time and lets some other timer slow down? To be more specific: that the pcm_tick takes too long? I dont know much about timers and maybe I could find it out myself, but a small tip from a experienced dev. could save me hours of investigation :) .

Edit: no more help needed, foud how to solve the problem partly.
Title: Re: iBasso DX50
Post by: wodz on August 27, 2014, 05:58:10 AM
As was pointed out earlier you should really, really put your work-in-progress on gerrit. That way others can review the code on early stage saving you hassle later.
Title: Re: iBasso DX50
Post by: cholero on August 30, 2014, 07:26:56 AM
Uploaded the code to gerrit:
http://gerrit.rockbox.org/r/#/c/941/
Title: Re: iBasso DX50
Post by: __builtin on August 30, 2014, 09:42:29 AM
The link to the bitbucket repo seems to be down. :(
Title: Re: iBasso DX50
Post by: __builtin on August 30, 2014, 09:45:33 AM
Never mind, it's just the period at the end of the URL...  :-[
Title: Re: iBasso DX50
Post by: cholero on September 12, 2014, 01:03:41 AM
Good news: headwhacker announced to have solved the "gather runtime data" - bug for this port.  :)
Title: Re: iBasso DX50
Post by: saratoga on September 18, 2014, 01:06:09 PM
I committed the port.  However, its not integrated into our build system.  From what I understand, we don't current build Android targets over the build system.  Is there a technical reason why we could not build the DX50/90 devices this way?

Also, I've created a wiki page:

http://www.rockbox.org/wiki/IBassoDXPort

Filling this out with install directions and any other useful info would be great.
Title: Re: iBasso DX50
Post by: cholero on September 18, 2014, 03:58:18 PM
Thanks a lot for everything!
I don't know why android apps are not build, didn't do the reading for it. But it is not impossible that the reason could also affect DX50/90 port.?
At current state, no simple installation is possible. But I will try to get further with this. Also writing the wiki and fixing the DX90 port (maybe headwhacker helps me, now that it is so easy to get the sources) are my homework. I only have limited time (some hours a week) but I will bring this port to the end if my abilities allow it
Title: Re: iBasso DX50
Post by: cholero on September 20, 2014, 01:24:50 PM
I had a spontaneous idea for the update mechanism:
The app and libs could be installed to the data partition. The dualboot-app (/rbutil/ibassoboot) could be extended to manage updates, so if there is a rockbox.zip on the sdcard it updates the rockbox app on the data partition. So the official firmware would only need to be patched once with the dualboot-app.
Title: Re: iBasso DX50
Post by: [Saint] on September 21, 2014, 07:05:36 PM
I committed the port.  However, its not integrated into our build system.  From what I understand, we don't current build Android targets over the build system.

So, I screwed up.

If anyone read the comment I posted prior where I confirmed and agreed with this, I apologise.

It seems Android targets are indeed hitting the build table, and that Chrome decided to hate me and not show them (and may other) items in the build table. Serves me right for religiously using Chrome-dev I guess.


[Saint]
Title: Re: iBasso DX50
Post by: cholero on September 24, 2014, 04:12:42 PM
a very small breakthrough for the installation process: Because my mate headwhacker form head-fi insisited in trying to install the whole rockbox to /sdcard (internal drive) we tried to find a way and found it. With this way it will be possible to do updates of rockbox using only mass storage, nothing else  :D . I will do some more testing and post a patch when I'm 100% sure it works.
Title: Re: iBasso DX50
Post by: saratoga on September 24, 2014, 07:48:15 PM
The DX50 is now actually built by our build system:

http://build.rockbox.org/dev.cgi

The first build went smoothly:

http://build.rockbox.org/shownewlog.cgi?rev=be9c227;type=ibassodx50
Title: Re: iBasso DX50
Post by: cholero on September 25, 2014, 04:35:30 AM
Wow, that's great! :D
We are getting further and further. Thanks!

I have a question about folder structure. Until now we had the content of the rockbox.zip on the system partition. Also the libs/armeabi/* was on the system partition in an other folder. The user setting were on /sdcard/rockbox. Now if we move the binaries to sdcard, how sould it be done?

a)
everything (settings AND build) to
/sdcard/rockbox
libs/armeabi to
/sdcard/rockbox/bin

b)
build to
/sdcard/.rockbox
settings remain in
/sdcard/rockbox
libs/armeabi to
/sdcard/.rockbox/libs/armeabi

or even something else?

On my known players (H120 and clip+) it is the way a) but with a dot (.rockbox)


Edit: I think I have a basic lack of knowledge about the android port. Right now we are running the rockbox binary in the folder with all the lib*.so 's from libs/armeabi. But is this necesary? All files are already in the zip. Is it possible to run it without the lib*.so's?

Edit2: My gerrit patch uses finally this folder structure:
everything (settings AND build) to
/sdcard/.rockbox
libs/armeabi to
/sdcard/.rockbox/codecs
Title: Re: iBasso DX50
Post by: cholero on September 29, 2014, 10:50:17 AM
Next step:
DX50 (& hopefully DX90) run well from sdcard:
http://gerrit.rockbox.org/r/#/c/993/ (http://gerrit.rockbox.org/r/#/c/993/)

This will simplify the update procedure of rockbox by a big amount.

to try the installation (tested on DX50) when coming from ilia's build:

The new file structure differs only by the codecs filenames from a regular build  :).

Edit: Had to change the gerrit address because I made accidentally a new commit instead of a new patch set

Edit2: with modified buildzip.pl even 1 step less is needed :-)
Title: Re: iBasso DX50
Post by: ArgelErx on October 07, 2014, 06:50:22 AM
I'm currently tinkering around with this build. It builds and it works. Moving the rockbox directory to the sdcard is great.

The only thing i do not like is the current keymap. Specifically hold switch and power button interaction with the touchscreen/backlight.

As it is right now
- every press of a physical button turns on the touchscreen.
- the hold switch locks the touchscreen and the physical buttons.
Which is really annoying if you try to use the device blindly (e.g. while it is in your pocket).

In my personal build i reverted the behaviour somewhat back to the original implementation by isergachev:
- Hold switch only toggles  touchscreen lock/backlight.
- Hold switch only locks power button short press (to prevent accidentally leaving WPS).

I tried doing this with the rockbox infrastructure, but failed miserably (to much unfamiliar code and concepts in to short a time). So i hacked up the iBasso key code.

IMHO the power button/lock switch behaviour should be this (for this device):
- Hold switch only toggles touchscreen lock/backlight.
- Power button short press only toggles backlight.
- While hold switch is set to lock, no button press or automatic interaction (e.g. caption backlight) turns on the touchscreen/backlight.
- Current function of the power button (back/abort) can be fully replaced with touchscreen interaction.

Any comments?
Can this be achieved "The Rockbox Way"?
Can this be made the default behaviour? Or at least be customizable?
Or will i ever need a custom build for this?
Title: Re: iBasso DX50
Post by: cholero on October 07, 2014, 07:11:01 AM
In my builds at head-fi I've included a mod that I called "Spartphone UI style". I had to take this out to get the port commited. To be honest, this mod has a very low possibility to get ever accepted :( (even if I did it in a very clean way). But anyway I will do a commit to gerrit that you can cherry-pick it.

This mod changes:

The concept of this mod is that WPS should be the main screen, not the main menu (exept when playback is stopped).

This concept is today more intuitive than in 2002 because we got brainwashed by using Mobil Phones (iPhone and Android) in the past ~5 Years.
Title: Re: iBasso DX50
Post by: cholero on October 08, 2014, 05:19:21 PM
Here is the promised patch:
http://gerrit.rockbox.org/r/#/c/1007/ (http://gerrit.rockbox.org/r/#/c/1007/)
Title: Re: iBasso DX50
Post by: ArgelErx on October 08, 2014, 10:37:37 PM
Here is the promised patch:
http://gerrit.rockbox.org/r/#/c/1007/ (http://gerrit.rockbox.org/r/#/c/1007/)

Thx. Works.

Well it did, after i spend several hours trying to figure out why this &"§%§ build would skip every &$§& track. Turns out, that Rockbox will do this if it can not load the codecs, which where named .so instead of the default.

Maybe i shouldn't play git at 1am in the morning ...
Title: Re: iBasso DX50
Post by: RockBoxNewB on November 08, 2014, 09:11:50 AM
Hello everyone,

I'm not sure if this is the right thread as I am not an expert whatsoever, but before I open a new topic about the iBasso DX50, I figured I should try my luck here.
I have been using Rockbox for quite a while now, I had it installed on an iRiver H340, a Cowon X5, Sansa Clip Plus and even on the iPod Classic (which is not one of the "officially" supported devices).
Lately, I got myself an iBasso DX50 - and the main reason to buy it was indeed the Rockbox port which is already out there.
However, I have to admit that I didn't get it to work properly. I'm sorry that I cannot describe everything in detail because of my lack in technical knowledge, but maybe you can still help me.
 
In order to install, I followed the instructions given on several webpages. I used the cholero version and the RKbatch tool to flash.
It was quite fiddly for me, but in the end I got RB working. 2 problems came up though:
1) I didn't get any sound. At first there was a crackling in my headphones, but then nothing. HOWEVER, this might be a result of my own stupidity. I am not sure if I didn't accidentally plug my headphones into the COAX out of the DX50. I am still not used to the headphone outs sitting on the BOTTOM of the player. I read that others had a similar issue with no sound, so I decided to list t here anyway. Maybe I did something wrong in the instalation or so.
2) I did not find out how to get to the dualboot menu. I think I was able to choose Mangoplayer or Rockbox when i first booted it...but from then on, pushing the ON button automatically boots Rockbox. I tried several button combinations at boot time, but none did open the dualboot menu.
3) Rockbox did not show the music files on the SD card. After a while, I found out that the contents of the SD card should be listed under Files>mnt and NOT "sdcard", but still...the folder was shown as empty. I took out the SD and plugged it directly into my PC - and all the music files are shown. The original iBasso firmware also detects and plays all the contents.

As a result, for now, I have reverted to the original firmware. In the meantime, I thought I completely bricked the device, but luckily I succeeded in the uninstallation. I had underestimated how much of a problem the lack of real and complete documentation is for a newbie like me.
Sooo...do you have any idea where the problems came from? Particularly issues #2 and #3?

Thanks ever so much in advance,
RBNB
Title: Re: iBasso DX50
Post by: ArgelErx on November 08, 2014, 09:57:56 AM
[...]
1) I didn't get any sound. At first there was a crackling in my headphones, but then nothing. HOWEVER, this might be a result of my own stupidity. I am not sure if I didn't accidentally plug my headphones into the COAX out of the DX50.
[...]

Well, try again. Make sure to use the headphone out. Report back, if there is still no sound while using the headphone out.

Quote
[...]
2) I did not find out how to get to the dualboot menu. I think I was able to choose Mangoplayer or Rockbox when i first booted it...but from then on, pushing the ON button automatically boots Rockbox. I tried several button combinations at boot time, but none did open the dualboot menu.
[...]

To start the chooser menu, engage the hold switch (the upper/locked position) and then turn on the device.

Quote
[...]
3) Rockbox did not show the music files on the SD card. After a while, I found out that the contents of the SD card should be listed under Files>mnt and NOT "sdcard", but still...the folder was shown as empty. I took out the SD and plugged it directly into my PC - and all the music files are shown. The original iBasso firmware also detects and plays all the contents.
[...]

Internal storage: /mnt/sdcard/.
SD Card: /mnt/external_sd/.

HTH.
Title: Re: iBasso DX50
Post by: RockBoxNewB on November 08, 2014, 11:41:12 AM
Thank you very much, ArgelErx. Your reply is a huge help already.
I will work my way through the installation process again. Now that I finally know how to open the DualBoot menu, there is definitely nothing wrong with having both firmwares installed on the device.
The thing with the SD card will remain a problem, though. I have DEFINITELY opened Files>mnt>external_sd, and it was empty. I tried to format the sd card from the menu I can open by pressing Volume Up+Power (the CWM menu or what its name is), and it also didn't help. What confused me: after I formatted the SD card from that menu, when I connected the SD to my computer, my music files were still on it. I checked the card, it's FAT32 formatted, so that shouldn't be an issue...right? Is there any other thing I might have forgotten and which might cause these SD problems?

Again, thanks a lot.
RBNB

EDIT: For some reason, I can't get to installing Rockbox anymore. I used the RKbatch tool, and flashed the update.img to the device. From the CWM recovery menu, I decided to try the other .zip file (the one by isergachev), but it did not work...I thought maybe it doesn't work with iBasso FW 1.5. Then, I put cholero's .zip on the SD card and tried to install it...but I received the same error as I did with the isergachev file. It would not work anymore. I couldn't do anything but revert to the stock FW using RKbatch...AGAIN. Damn, I really don't know what went wrong this time!
Title: Re: iBasso DX50
Post by: ArgelErx on November 10, 2014, 06:56:11 AM
[...]
The thing with the SD card will remain a problem, though. I have DEFINITELY opened Files>mnt>external_sd, and it was empty. I tried to format the sd card from the menu I can open by pressing Volume Up+Power (the CWM menu or what its name is), and it also didn't help. What confused me: after I formatted the SD card from that menu, when I connected the SD to my computer, my music files were still on it. I checked the card, it's FAT32 formatted, so that shouldn't be an issue...right? Is there any other thing I might have forgotten and which might cause these SD problems?
[...]

Using CWM for more than flashing and factory reset might be dangerous. I've used the two afore mention functions (and had a backup plan in case of bricking the device) but i would not rely on anything else. We do not know how thouroughly the creators of this CWM have tested their creation.

I've formated by SD Card on my PC (gparted, Linux) with FAT32. It works as expected ...
As for your card, if it works with the original firmware, than it should work with Rockbox. After all its just a different programm running on the same OS using the same access methods.
There are some settings in Rockbox that influence what files are shown (Settings -> Files IIRC) and AFAIK ther are certain file names that are not shown at all (starting with '.' for example).

Quote
[...]
EDIT: For some reason, I can't get to installing Rockbox anymore. I used the RKbatch tool, and flashed the update.img to the device. From the CWM recovery menu, I decided to try the other .zip file (the one by isergachev), but it did not work...I thought maybe it doesn't work with iBasso FW 1.5. Then, I put cholero's .zip on the SD card and tried to install it...but I received the same error as I did with the isergachev file. It would not work anymore. I couldn't do anything but revert to the stock FW using RKbatch...AGAIN. Damn, I really don't know what went wrong this time!

If you used the description on head-fi (http://www.head-fi.org/t/709855/rockbox-for-ibasso-dx50-cwm-recovery-latest-update-2014-09-15) follow it exactly. Start with clean original firmware version 1.5. Use choleros image.
I did not use RKbatch tool.

But its been a while since i did this. I am currently on development version where most of the flashing is not necessary anymore. But thats for a upcoming release ...
Title: Re: iBasso DX50
Post by: sduck on November 10, 2014, 11:21:25 PM
You shouldn't have to use RKbatch tool at all for installation of rockbox, etc. It's only needed in case of extreme fubarness.
Title: Re: iBasso DX50
Post by: RockBoxNewB on November 12, 2014, 12:41:10 PM
Thanks for your feedback, guys.
I actually indeed used the description posted on head-fi. The thing is: I'm having trouble to UNDERSTAND what I have to do there. I used the RKbatch method because it says there "this one MUST work". The step-by-step guide (with all of its alternative methods and stuff) is pretty confusing for a noob like me. I mean I have been using RB before, and I have installed it on a "problematic" device (iPod Classic), but when it says "only if you have CWM" or "only if you have original recovery"...I simply don't KNOW. Which case applies for me now? Instead of RKbatch, shall I use 4b. or 4c.? I was afraid that if I use the wrong method, I might end up bricking the DX50, so I picked RKbatch.

Thanks in advance,
RBNB
Title: Re: iBasso DX50
Post by: cholero on November 18, 2014, 08:48:04 AM
ArgelErx did a complete code cleanup of the port. If someone wants to test it, see the head-fi forum for details:
http://www.head-fi.org/t/709855/rockbox-for-ibasso-dx50-cwm-recovery-latest-update-2014-09-15/1275#post_11053921 (http://www.head-fi.org/t/709855/rockbox-for-ibasso-dx50-cwm-recovery-latest-update-2014-09-15/1275#post_11053921)
Title: Re: iBasso DX50
Post by: sduck on November 30, 2014, 11:29:42 PM
RBNB, you should really pursue this on the Headfi forum page - this is the wrong place for this.
Title: Re: iBasso DX50
Post by: csussman on April 16, 2015, 06:09:41 PM
i use my ibasso dx50 w/ rockbox for reading ebooks which i convert into txt format, i accidentally made a few bookmarks (i think by pressing power and raise volume buttons together, and i can't figure out how to remove them, can s/o please help me?
Title: Re: Rockbox as an Application (Android, WebOS etc.)
Post by: groovyd on May 28, 2015, 10:27:42 AM
Hey All,

I am an embedded firmware developer with a masters in DSP and recently purchased a DX90 as it were being lauded on HeadFi especially with Rockbox and I am all about music  :D  Installed the latest greatest port and for the most part it works well.  The reason I am here is because I would like to get started contributing to this effort to make the DX90 por better.  One thing I really need to fix (atleast for my own device) is the sensitivity of the touch screen.  Just doesn't work very well among a few other things I would like to tweak.

I am on a Mac and tried installing the cross compiler etc according to the instructions in the wiki and couldn't get it to build so I went into my Windows 8.1 VM under parallels and installed Cygwin 64-bit and again, no luck with it erroring out halfway through building the cross-compiler.  Installed Cygwin 32-bit and bingo, cross-compiler installed... very good, feeling lucky.  Next step I assume is to build RB however the wiki mentions (and upon trying to run configure) needing the Android NDK but states Android 16.  I have never worked with android or the NDK and so excuse my ignorance but on the website for installing Android NDK i see no version 16, only versions up to 10d. Would someone please mind to nudge me toward the proper version of the NDK to install?
Title: Re: iBasso DX50
Post by: groovyd on June 04, 2015, 07:56:29 PM
Could anyone point me to the appropriate Android NDK download needed to build this using the latest 32-bit cygwin?  Google only has the latest 10something up and I wasn't aware of whether or not that would work as it seems that have totally changed compilers and everything since v10 and on.  Someone mentioned 9d but I can't find the 32-bit installer. I am trying to build for DX-90 so that I can dig in and fix the touchscreen sensitivity.

I am an experienced firmware developer and would like to contribute to rockbox for the DX-90. Any help getting rolling would be appreciated.
Title: Re: iBasso DX50
Post by: saratoga on June 04, 2015, 08:50:21 PM
I'm not sure if its possible to compile rockbox for the DX50 in cygwin.  It was at one point, but we dropped support for it in favor of Linux/Mac/Virtualbox. 

Regarding android, I think you can just use the current sdk/ndk, but the wiki says at least version 16 is needed (Jellybean). 

Edit:  Merged your other post.  Regarding your error on the Mac, most likely this is because you need to install gcc.  Apple no longer bundles it with MacOS, so in recent versions rockboxdev will fail.  Here is a cached version of some instructions for installing gcc on the Mac:

http://webcache.googleusercontent.com/search?q=cache:0OtvzgZOJ7sJ:https://wiki.helsinki.fi/display/HUGG/Installing%2Bthe%2BGNU%2Bcompilers%2Bon%2BMac%2BOS%2BX+&cd=2&hl=en&ct=clnk&gl=us

 
Title: Re: iBasso DX50
Post by: groovyd on June 04, 2015, 11:26:47 PM
First I tried the Mac with proper gcc and all required packages (using MacPorts) and it failed to build the cross-compiler with a ton of fundamental issues that would have required me to go back to some ancient version of gcc perhaps, no thanks.

Second I thought, having already a Win8 parallels VM for work I would just fire up Cygwin.  Started with Cygwin 64-bit, all the packages, again erring out on cross-compiler build complaining about 64-bit something.  Switched to 32-bit Cygwin and the cross-compiler built but then I struggled with finding an Android NDK that would work with it and no luck there, trying both 9 and 10. 

Finally decided to just install Ubuntu since it seems everyone else is using that. Started with 64-bit install and boom cross-compiler no problem.  Downloaded latest NDK 10e and it would have none of it. Took some time to find a url for an older version 9d someone else mentioned using from headfi but I didn't realize the link I found were 32-bit until it complained about not being impressed about 64-bit.  Still unaware what exactly was wrong I assumed I needed Ubuntu 32-bit, lol ;)  Halfway through installing that I finally eureka'd and appended _64 to the 9d NDK url and whammo! Finally built!

So either I am entirely useless or you really shouldn't even waste your time with anything but Linux for Rockbox.  Moreover it also seems incompatible with anything Android NDK 10+, so you will need to use NDK 9.  Here is the url I eventually used to get NDK 9d since they no longer post links for older versions...

http://dl.google.com/android/ndk/android-ndk-r9d-linux-x86_64.tar.bz2

Someone should really archive this file for future developers incase they pull it or better yet upgrade Rockbox to work with NDK 10+.  It was all quite a confusing process but I finally arrived ;) Now what? lol
Title: Re: iBasso DX50
Post by: groovyd on June 04, 2015, 11:32:02 PM
Any help with the process of loading the code and debugging it over usb onto a DX-90 that is already running the Lurker/Rockbox 2.2.0 build would be greatly appreciated so I do not brick my device trying to get this thing running.  As soon as I get it running and debugging I will crack into the touchscreen driver and see what I can do.  I will also take a look at the i2c driver as it appears from the bug tracker there are timing issues with it causing clicking in the right ear while reading RTC and battery?
Title: Re: iBasso DX50
Post by: saratoga on June 05, 2015, 12:28:29 AM
First I tried the Mac with proper gcc and all required packages (using MacPorts) and it failed to build the cross-compiler with a ton of fundamental issues that would have required me to go back to some ancient version of gcc perhaps, no thanks.

As far as I know, any modern version will work.  I used 4.9.2 from the link above on 10.10 and it built normally.
Title: Re: iBasso DX50
Post by: groovyd on June 05, 2015, 12:50:08 AM
Yeah didn't work for me.
Title: Re: iBasso DX50
Post by: groovyd on June 05, 2015, 09:10:29 AM
mounted the DX-90 as USB drive under Ubuntu and was able to simply drag and drop the .rockbox folder over and it worked!  Ok, now I got something I can work with.  Sorting out the debugger next would be nice. 
Title: Re: iBasso DX50
Post by: groovyd on June 09, 2015, 06:01:37 PM
just submitted my touchscreen fixes to one of the devs over on head-fi.  hopefully finds it's way into the real deal eventually  ;D
Title: Re: iBasso DX50
Post by: cholero on June 09, 2015, 09:38:42 PM
Here you go
http://gerrit.rockbox.org/r/#/c/1192/ (http://gerrit.rockbox.org/r/#/c/1192/)

Thanks a lot! It makes the Touchscreen much more usable  :)
Title: Re: iBasso DX50
Post by: groovyd on June 10, 2015, 10:21:53 AM
 8)
Title: Re: iBasso DX50
Post by: heinrichh on August 16, 2015, 06:26:20 AM
Can anybody confirm that the crossfeed function is working on the iBasso? This is essential for me and I wouldn't buy an expensive player if it has no crossfeed. With my Android phone this function is available but has no effect at all. That's why I'm asking. Thanks.
Title: Re: iBasso DX50
Post by: cholero on August 16, 2015, 07:43:28 AM
I can. The port is fully functional includung all dsp effects like crossfeed.
Title: Re: iBasso DX50
Post by: heinrichh on August 16, 2015, 02:49:56 PM
Thank you for this confirmation! Now I'll go to buy one  ;)
Title: Re: iBasso DX50
Post by: 24bits on August 18, 2015, 07:43:33 AM
I've had so many issues with my DX90 Rockbox, if I didn't lose my hair already i'd try to pull it all out hah. 

- Playlists are annoying and don't work right, M3u/8 are not supported fully without serious bugs and problems
- Player eats battery power like no tomorrow with no EQ or filters on, Mango lasts twice as long.
- My rockboxing was stable for a few days until today, for some reason it just flashes constantly.  Can't uninstall it, it seems.  Can't get memory on the sd or internal to appear after connecting to the usb and pc, no bootloader to uninstall it that way. 

Pretty much rendered un re-sellable now if this cannot be fixed.
Title: Re: iBasso DX50
Post by: csussman on April 02, 2018, 06:05:58 PM
I tried to put the latest daily build on my device and I can use the file viewer and plugins, but I can't seem to do anything else like, play music, change settings etc. is this a problem w/  the build, or the firmware/bootloader file, or maybe I didn't install properly?
Title: Re: iBasso DX50
Post by: pamaury on April 07, 2018, 11:39:16 AM
http://gerrit.rockbox.org/r/#/c/1296/1 (http://gerrit.rockbox.org/r/#/c/1296/1). I then ran into further configure bugs which means I had to backport some commits. Hopefully this should not introduce any (further) bug.

EDIT: current state of bisect:
I am going to ignore the tag building bug you mentioned for now, only one problem at a time :)[/list]

It appears the bad commit is https://git.rockbox.org/?p=rockbox.git;a=commit;h=5c96889 (https://git.rockbox.org/?p=rockbox.git;a=commit;h=5c96889), which is very surprising. Assuming the bisect went well, it probably means some of the DX50 may rely on some undefined/undocumented behavior of the print function, I guess when messing up with sysfs. I'll try to look at the code to find where, but it's potentially a lot of code to search.
Title: Re: iBasso DX50
Post by: csussman on April 08, 2018, 04:30:35 AM
I tried some basics on all 4 builds:
1) HEAD (7a12e796a): had the same problem.
2) Bisect #2 (acc3ef3): seems to work very well, it does not support the plugins sgt-loopy or sgt-palisade.
    The pixel painter plugin doesn't either work, but the flyspray says that it wasn't configured for touchscreen
    devices so I assume that that still hasn't been done.
3) Bisect #1 (eefc7c73): much the same as bisect #2 but it doesn't support sgt-mines, and does not have the
    extensive help for all the sgt plugins.
4) DX50 NDK-only commit(dbabd0d9c): this works, but does not support the new plugins.

Thank you so much.

EDIT: I tried building a database (using bisect 2), when it says 'updating in background' the screen gets stuck, it continues building the database, but I can't continue browsing until it completes the process.

bisect  3 seems the same as bisect 2
bisect 4: same as head
bisect 5: same as head
bisect 6: same as head
bisect 7: same as bisect 2, but it does support the plugins sgt-loopy and sgt-palisade
     EDIT: for some reason these 2 plugins only work on one of my devices w/ this build
bisect 8: same as bisect 7
bisect 9: same as head
bisect 10: same as head
Title: Re: iBasso DX50
Post by: msx45 on July 01, 2018, 10:07:23 AM
Hello ,
i've got the same bugs on my Ibasso DX50
With the latest build that don't work


Did you manage to run the latest builds? ?
Title: Re: iBasso DX50
Post by: csussman on July 05, 2018, 01:22:12 AM
I've tried using various usb otg cables and it seems like the ones which split into multiple ports don't work. Is this limited by the hardware or the firmware?
Title: Re: iBasso DX50
Post by: msx45 on July 07, 2018, 06:12:54 AM
Hello ,

Is someone has a ROCKBOX port of 2018 that work on DX50 ?

i've got a port of ROCKBOX 07.11.2017 that is work very well
(so not a hardware problem)

I tried with the firmware dual boot 1.93 and the firmware dual boot 1.95 and i have the same problem
(so not a firmware problem)

So i believe it's a port problem ......

Title: Re: iBasso DX50
Post by: csussman on December 17, 2018, 10:24:45 PM
The current build seems to work, probably thanks to patch d8ce84c. The problem with building the database in the background still exists, though.

EDIT: The lua apps need to be updated with the new rb.touchscreen_mode(mode) code, as per this thread. http://forums.rockbox.org/index.php/topic,52541.0.html (http://forums.rockbox.org/index.php/topic,52541.0.html)
Title: Re: iBasso DX50
Post by: msx45 on December 21, 2018, 03:45:58 AM
Hello ,
thank you very much for the info

IT'S WORKING NOW !!!!!

I advise you to put the theme "arc en ciel" to correct the layout in the main menu
After you can put back the theme you wish , the main menu will remain fixed