Previous day | Jump to hour: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Next day

Seconds: Show Hide | Joins: Show Hide | View raw
Font: Serif Sans-Serif Monospace | Size: Small Medium Large

Click in the nick column to highlight everything a person has said.
The Logo icon identifies that the person is a core developer (has commit access).

Notice: Only Gecko based browsers prior to FF4 support the multipart/mixed "server push" method used by this log reader to auto-update. Since you do not appear to use such a browser, this page will simply show the current log, and not automatically update.

#rockbox log for 2020-10-11

00:03:54speachymake that tuesday. email sent to the list for a heads-up and any last-minute objections.
00:25:38 Quit ac_laptop (Ping timeout: 260 seconds)
00:36:23***Saving seen data "./dancer.seen"
00:36:44__builtinhmm, I'm pretty sure 4.9.4 breaks quake on ipod6g
00:37:10__builtin"breaks" as in hanging on exit IIRC
00:40:06_bilgus_g#2811 is updated to where I've gotten to currently
00:40:08fs-bluebotGerrit review #2811 at : LCD core move buf ptr and address look up function viewport struct WIP by William Wilgus
00:41:12_bilgus_basically the mechanism is there but there are still some things that will disappear from plugin.c/h and some clean up + remote displays
00:42:26_bilgus_probably the lcd_address lookup might be better in ASM but I imagine with the static buffers it'll be not a big difference
00:44:16__builtinhehe, from 2006:
00:44:30__builtinThat seals it. I'm insane.
00:45:43speachyyou're in good company
00:48:23_bilgus_I thought that was one of the pre-reqs
00:49:23__builtinspeachy: anyway, regarding 4.9.4 I'm fine if you push it
00:49:56__builtinthe bug itself is pretty minor and that'll give me the motivation to fix it :)
00:50:27speachyseveral plugins segfault on exiting from the hibylinux stuff too
00:51:19__builtinsomeone just needs to spend an afternoon with a debugger and some luck, I bet
00:51:27_bilgus_oh speaking of weird hangs that rolo hang on the x3 works its self out usually given enough time
00:52:03speachy_bilgus_: really? that's... a really useful datum
00:52:07_bilgus_perhaps even every time given infinite time limits;)
00:52:11__builtinI had one in the course of the quake port that turned out to be an off-by-one in a loop condition
00:53:54_bilgus_the thing that bothered me the most is working between lua and the RB C backend pretty much a off by one waiting to happen every traversal between the two
00:54:20__builtinI had the equivalent of i−−; do { ... } while(−−i != 0);
00:54:26__builtinin assembly, of coruse
00:54:40__builtinso it'd break whenever i=1 and loop around to 0xffffffff
00:54:56_bilgus_they say thats faster because the one less check but I mess it up more than not
00:55:38__builtinit'd then proceed to loop 0xffffffff times, which led to a nice 10-minute delay
00:56:55__builtinhard to say but it sounds like something similar could be happening here, who knows
00:57:20_bilgus_ah I got ya I figured there was something hold the memory
00:57:31 Quit galaxy_knuckles (Ping timeout: 246 seconds)
00:57:41__builtinthe issue was i != 0 as the condition
00:57:54__builtinfixed by using > (bne -> bgt in asm)
00:58:47speachy_bilgus_: the thing is, there's not a lot steps to block in the rolo code, between "loading" and the "executing" that doesn't show..
00:59:16speachymaybe it's the core_alloc_maximum() that's blocking?
00:59:27_bilgus_my thought..
00:59:28speachyI guess it wouldn't hurt to add in a few more display updates
00:59:56 Join galaxy_knuckles [0] (
00:59:56 Quit galaxy_knuckles (Changing host)
00:59:56 Join galaxy_knuckles [0] (~gknux@unaffiliated/galaxy-knuckles/x-1756549)
01:00:21_bilgus_it might be a badly behaving buffer not realsing in a timely manner
01:00:45speachyisn't audio-related though; this happens indpedently of audio running
01:01:34_bilgus_not sure but probably generally when i'm using rolo I don't have audio playing
01:01:54speachyvoice prompts?
01:02:07_bilgus_doesn't mean thats not the case but I'll try to pay closer attention to the exact circumstances
01:02:22_bilgus_I think voice does set fixed buffers
01:02:29speachymy usual run is to power on, dump firmware over, hit play on rolo prompt
01:02:57speachyanectdotally the longer I wait at the prompt, the more likely it is to get stuck.
01:02:57_bilgus_though I added code to dump the voice buffers recently so that might work to test
01:03:34speachywe don't HAVE_STORAGE_FLUSH or HAVE_BOOTDATA
01:04:15speachyso that leaves audio_stop(), the core_alloc_maximum(), core_get_Data(), and load_firmware().
01:04:19_bilgus_bootdata would actually be nice on hosted builds emulated ofc
01:04:57_bilgus_mm once I figure out something with jHMikeS redirection code lol
01:05:02speachyI have on my todo list to get rolo working on hosted targets. ought to be easy, unless I'm missing something really fundamental
01:05:43speachy(I guess we'd want to make sure all open fds are closed upon exec())
01:06:15_bilgus_I think the FS keeps track and warns oh nm thats only for plugins
01:06:59_bilgus_but yeah good point just odd that it works elsewhere
01:07:30speachyI Think nobody ever bothered to write it
01:08:41_bilgus_ah Mr.Somebodys arch nemesis!
01:47:53fs-bluebotBuild Server message: New build round started. Revision 5cfd3ae, 287 builds, 10 clients.
01:57:22 Join Rower [0] (
02:02:28fs-bluebotBuild Server message: Build round completed after 874 seconds.
02:02:30fs-bluebotBuild Server message: Revision 5cfd3ae result: All green
02:36:27***Saving seen data "./dancer.seen"
03:15:34 Join S|h|a|w|n [0] (~shawn156@unaffiliated/shawn156)
03:24:35 Quit prof_wolfff (Ping timeout: 240 seconds)
03:45:45fs-bluebotBuild Server message: New build round started. Revision c8fa530, 287 builds, 10 clients.
04:00:24fs-bluebotBuild Server message: Build round completed after 880 seconds.
04:00:27fs-bluebotBuild Server message: Revision c8fa530 result: All green
04:05:43 Join w4tchguard [0] (~w4tchguar@2001:ac8:84:33::a10d)
04:18:39 Join Xeha [0] (~Xeha@unaffiliated/xeha)
04:30:31braewoodsspeachy: interesting. seems the CF mod has 2 issues with the latest current bootloader. ata -80 error when exiting USB mode or when trying to boot from disk.
04:30:46braewoodsi'm guessing they're related since it worked with the original disk
04:31:06braewoodsanyway that's more than enough reason to try to fix it
04:36:29***Saving seen data "./dancer.seen"
04:50:29 Join lebellium [0] (
05:05:31 Quit SiliconExarch (Quit: Idle for 30+ days)
05:10:59 Quit w4tchguard (Remote host closed the connection)
05:11:18 Join w4tchguard [0] (~w4tchguar@2001:ac8:84:33::a10d)
05:21:39 Quit S|h|a|w|n (Read error: Connection reset by peer)
05:58:18 Join johnb3 [0] (
06:03:25johnb3speachy, _bilgus_ : I mentioned that I wanted to run batterybench on the X3ii. When connecting to my PC againg, I was annoyed to see, that no file was created. I thought maybe I hit a wrong button and it didn't run at all. But no, starting it again, it briefly flashes "Cannot create file", then "plugin returned error". This was with 7c00e9b30b-201010
06:36:32***Saving seen data "./dancer.seen"
06:41:46 Join pamaury [0] (~pamaury@rockbox/developer/pamaury)
07:02:54pamaurylebellium: I will have a look but I need the key from the device
07:03:00pamauryit can't be guessed
07:05:25 Quit johnb3 (Ping timeout: 240 seconds)
07:08:31pamaurylebellium: actually, I do have the DMP-Z1 key, I just didn't commit it, I will now and upload a build
07:11:07fs-bluebotBuild Server message: New build round started. Revision e371dee, 287 builds, 10 clients.
07:23:50fs-bluebotBuild Server message: Build round completed after 763 seconds.
07:23:51fs-bluebotBuild Server message: Revision e371dee result: All green
07:29:55 Quit w4tchguard (Ping timeout: 240 seconds)
07:41:44 Join Soap [0] (~Soap@rockbox/staff/soap)
07:52:25 Quit pamaury (Ping timeout: 264 seconds)
07:59:41 Join pamaury [0] (~pamaury@rockbox/developer/pamaury)
08:11:35fs-bluebotBuild Server message: New build round started. Revision fcdfeb2, 287 builds, 10 clients.
08:13:21speachyjohnb3: There's probably a plugin path problem due to the funky pivot_root thing going on for hosted builds
08:14:56speachythought I'd fixed all of that though
08:17:13blbro[m][pamaury]( I'm planning to push the tomcrypt stuff soonish, in case you still want to give it a look.
08:20:24speachyjohnb3: yeah, found it, fixing now.
08:22:06speachy_bilgus_: I think we need to yank HOME_DIR from all users of the plugin API. This is limited to a handful of test_ plugins... and lua.
08:23:38fs-bluebotBuild Server message: Build round completed after 724 seconds.
08:23:40fs-bluebotBuild Server message: Revision fcdfeb2 result: All green
08:24:45 Join prof_wolfff [0] (
08:24:47pamauryblbro[m]: ah yeah, let me have a try, can you give ne the gerrit link again ?
08:25:48speachypamaury: starting at
08:26:36 Join johnb3 [0] (
08:36:04pamauryspeachy: blbro[m]: just tried to decrypt a file and seems to work
08:36:36***Saving seen data "./dancer.seen"
08:38:19speachy_bilgus_: actually I think every user outside of the actual filesystem code is a bug.
09:10:16_bilgus_speachy, doubt lua uses it in a meaningful way besides as just a Const
09:11:38speachy_bilgus_: ok, I'm yanking the constant defines. it's not referenced by any of the scripts
09:12:23speachyall but one remaining use is in calls to create_[datetime|numbered]_filename()
09:23:14 Quit ufdm_ (Quit: Leaving)
09:23:31 Join ufdm [0] (
09:30:12pamaurylebellium: the tool is at
09:30:19pamauryI will try to write instructions on how to use it
09:35:00lebelliumthank you
09:35:42 Quit johnb3 (Quit: Nettalk6 -
09:35:44braewoodsspeachy: any idea what host environment the build bots use?
09:36:32lebelliumin the wiki table I think nw-wm1 code is now split between nw-wm1a and nw-wm1z ?
09:42:54pamauryyes indeed
09:43:16pamaurythat table is obsolete, it should be generated from the code since there is a list of kas in there...
09:55:00speachybraewoods: they're whatever their respective owners set up. It's not tracked. Mine are all fedora-based FWIW
10:11:53speachyha! it works!
10:11:56speachyROLO on hosted targets.
10:16:08braewoodsspeachy: in theory, wouldn't the be as simple as the program doing an exec on itself or other executable?
10:16:27braewoodsdepending on whether you want to replace the existing process or make a new one and exit
10:16:36speachybraewoods: yes indeed. though some prep work was needed first to close down open files/etc
10:17:05braewoodssame idea as certain muds that did copyover as an exec on itself
10:17:21speachyheh, haven't heard that term in a long time
10:17:36braewoodsthey'd save some state or so so the new instance could reinitialize the existing network connections
10:17:46speachymuts also needed to maintain state, we don't have that worry.
10:18:01braewoodsyou actually have the opposite problem
10:18:10braewoodsyou want to deinitialize as much as possible for a clean transfer
10:18:12speachy(well, we have the so-called bootdata, but that doesn't exist on any hosted target)
10:18:43fs-bluebotBuild Server message: New build round started. Revision 6533d98, 287 builds, 10 clients.
10:18:46braewoodsplus you could also leverage posix shared memory or so if you need to persist memory structures
10:19:03braewoodsthough that has its own problems
10:19:20braewoodsyou effectively can't share anything but PODs in this system since pointers are worthless
10:19:45braewoodsthose are relative to a process' own memory map and so pointers are non-portable between processes
10:20:04speachybut in our case we want to explicitly blow it all away; the issues tend to come from things like init code not handling hardware not in idle/powerup/reset state etc
10:20:29braewoodsright. less of an issue on a hosted target though?
10:20:34braewoodssince the kernel handles all that
10:20:44braewoodsat most you might be writing to sysfs
10:20:52braewoodsor performing ioctl calls
10:21:03speachyexactly. except for held-open file descriptors
10:21:10braewoodsand a few other inherited stuff
10:21:26pamaurylebellium: I've written stuff in this should hopefully help with the tool
10:21:43efqwspeachy: tbh I'd rather see fiio pushing an ota to update the recovery and remove the signature check
10:22:08braewoodsefqw: is that even something you could get cooperation on?
10:22:15speachyefqw: well, yeah, but if they thought it was important to implement that crap to begin with, convingcing them it's not necessary is a much harder battle
10:22:38speachyefqw: I wonder if the FiiO firmware implements DRM (eg in wma files)
10:22:49efqwNo, I'm convinced that this is not intentional, they just took what Ingenic offered in the BSP as-is.
10:22:52braewoodsWMA DRM is effectively dead...
10:22:58braewoodswhat else is there?
10:23:09braewoodsaudible or whatever?
10:23:11efqwbraewoods: I have no leverage on this unfortunately.
10:23:27lebelliumpamaury: yes I just read that, thank you. I was wondering whether we should explain how to get the UPG file because Sony actually only provides .EXE firmware files for the latest models. To get the UPG file I had to execute the .exe and go to the TEMP directory used by Sony
10:23:27braewoodsso probably better to find a workaround
10:23:31speachyefqw: the ingenic sdk supplied that signed-zip monstrosity? gack
10:23:48efqwDid you download the sdk?
10:23:51speachybut I get the ingenic stuff wanting to support DRM (soc has hardware video decoder)
10:23:59braewoodsefqw: can you modify the recovery?
10:24:06speachyI have a copy somewhere but I never bothered to poke around in it.
10:24:08braewoodsperhaps you can patch out the problem.
10:24:47braewoodsdepends if the bootloader is locked so to pseak
10:24:50efqwbraewoods: that is our fallback plan, we *do* have the capability to flash whatever we want onto the device right now, with the help of the usb cloner tool
10:24:52braewoodsbut if it isn't
10:25:11braewoodsyou can theoretically disable or install your own signing keys
10:25:32braewoodsprobably would be simpler to disable it
10:25:33efqwthat'd be pointless as we might as well just update the rootfs UBI directly
10:26:23braewoodsefqw: honestly the only other option i know of is to have the private key and those are effectively impossible to bruteforce
10:26:27pamaurylebellium: yes that's a good point
10:26:48braewoodsefqw: realistically i only see one option short of some other oversight in their implementation
10:26:57braewoodspatching it out
10:27:18braewoodsbut yea
10:28:15braewoodson the bright side since the recovery is a standard ELF binary... its binary format is well known so it should be easier to patch.
10:28:34braewoodsat least i assume that from what i saw being said earlier
10:28:56braewoodslinux pretty much exclusively relies on ELF for all its binaries
10:29:24efqwspeachy: keep in mind that the ingenic BSP was originally intended for those internet-connected (spy) speakers
10:29:45efqwthe deal just didn't pan out, not many speakers used their chips unfortunately
10:30:03pamaurylebellium: I just created a subsection in UPGTool on this. Could you help me fill it ? I almost never use Windows
10:30:05speachybraewoods: if we are forced to use the burntool we'll just upload our own patched main firmware image. we can update it from the inside afterwards.
10:30:29efqwThe speaker market is mostly Allwinner or MediaTek nowadays I believe.
10:30:43speachymucking with recovery code is... dangerous. legally as well as technically.
10:31:01efqwMediaTek for Android based ones and Allwinner for everything else.
10:31:34efqwRockchip also did RK3308 but I haven't seen any speakers with that SoC either.
10:31:45braewoodsallwinner... they're a pretty popular ARM target for Linux boards.
10:31:48speachyif this pine64 lark works out in the end we'll probably end up with an allwinner-based DAP
10:32:05speachyeither F1C-series or V3-series
10:32:15braewoodsNot the A20 and such?
10:32:26braewoodsthat's the one i read about most.
10:32:40braewoodsthey're capped at 2GB due to hardware limitations i believe
10:32:57efqwWe don't even need more than 1GB for rb.
10:33:09efqw256M is plenty even for a hosted target.
10:33:11braewoodsyou get by with far less than that even
10:33:49fs-bluebotBuild Server message: Build round completed after 906 seconds.
10:33:51fs-bluebotBuild Server message: Revision 6533d98 result: All green
10:33:52fs-bluebotBuild Server message: New build round started. Revision 4e89e0e, 287 builds, 9 clients.
10:33:53speachyvast, vast overkill.
10:34:12braewoodsit might be good for IO performance during syncs but little else
10:34:22speachythe F1C and V3 stuff has on-package RAM too, which greatly reducess the PCB size and complexity
10:34:33braewoodshow much?
10:34:44braewoodsi'd think at least 64MB
10:34:49efqwNot to mention it significantly reduces the amount of engineering efforts required to route the PCB
10:34:55speachyF1C is 32 or 64, V3 is 64 or 128.
10:35:01braewoodsI see.
10:35:03efqwF1C100s has 32MB and F1C200s has 64MB
10:35:08braewoodsyou'd probably want some room to grow...
10:35:23speachyeven the lowest-end F1C has more than enough oomph to run everything rockbox has today. save perhaps Quake.
10:35:23braewoodsbut obviously there's a realistic limit. what would you use it for?
10:35:30braewoodsthe main thing i can see is more caching
10:35:41speachycachine with solid state storage is not terribly important
10:35:54speachy...I'd like 64.
10:36:02efqwF1C200s then?
10:36:16speachythe F1C100 can be had under $1
10:36:21efqwWhat about the PMU? We need a real PMU like the AXP192.
10:36:37***Saving seen data "./dancer.seen"
10:36:37braewoodspower management?
10:36:49speachyPMU ultimately depends on what the rest of the board needs. if we have external codecs then sure, a PMU makes sense
10:36:58 Quit kadoban (*.net *.split)
10:37:00 Quit danielp3344 (*.net *.split)
10:37:00efqwYeah, for battery charging and stuff like DC-DC
10:37:10speachythe V3+AXP208 (?) can be had for only a few $ in small quantities.
10:37:11braewoodsoh. a BMS so to speak.
10:37:18 Join kadoban [0] (kadobanmat@gateway/shell/
10:37:19 Join danielp3344 [0] (danielp334@gateway/shell/
10:38:01efqwThe AXP stuff has built-in battery gauge so you can have pretty accurate runtime estimates compared to the voltage-based solutions
10:38:13speachythe F1C would be a good native candidate out of the box, the V3 is fast enough to handle hosted well, and would be an absolute screamer running natively
10:38:33braewoodsand if you're building a design from scratch...
10:38:37speachy(1.2GHz Cortex A7..)
10:38:48braewoodsyou can tweak it to reflect what rockbox is capable of or so
10:38:52 Quit amiconn (*.net *.split)
10:38:52 Quit pixelma (*.net *.split)
10:38:54 Quit bzed (*.net *.split)
10:38:54efqwyeah, I hope you have some fun with the pocketgo
10:39:09 Join amiconn [0] (jens@rockbox/developer/amiconn)
10:39:09 Join pixelma [0] (marianne@rockbox/staff/pixelma)
10:39:09 Join bzed [0] (
10:39:29speachyboth would work reasonably well with their internal codecs −− and for higher-end audio external codec options are legion
10:39:32braewoodsthough i'm no electrical engineer
10:40:00braewoodsassuming that's the career field for designing electronics
10:41:19 Quit Huntereb (Ping timeout: 246 seconds)
10:42:08efqwhere's something to put on the wishlist if you're interested: I want a FM tuner as well
10:42:22 Quit Xeha (Ping timeout: 246 seconds)
10:42:43efqwthose can be had for under $1 and takes advantage of the unused stereo input that the F1C has
10:44:27 Join Xeha [0] (~Xeha@unaffiliated/xeha)
10:44:31braewoodsefqw: what about the digital FM extensions?
10:44:42braewoodswould those be too difficult to support?
10:44:51braewoodshd radio, etc
10:44:55efqwspeachy: oh I missed it, lol
10:44:57speachybraewoods: they are pretty power hungry and have extra licensing costs too, I think
10:45:08braewoodsjust thought i'd throw that out there
10:45:18braewoodsin some places analog FM is gone
10:45:40braewoodsthere's "Hd radio" here but i've never owned a receiver
10:45:42speachythe data/text sideband on analog fm is suppored widely in tuner ICs, but full HD radio stream decoding is another matter
10:46:15braewoodsi've experimented with SDRs and got it kinda working but not really
10:46:35braewoodsit's not as good as a hardware option
10:47:01braewoodsinteresting how CPU intensive SDRs are even for really old analog stuff
10:47:43braewoodsthat must be why it's always done in hardware for serious implementations
10:48:28fs-bluebotBuild Server message: Build round completed after 876 seconds.
10:48:29fs-bluebotBuild Server message: Revision 4e89e0e result: All green
10:48:52efqwWhat's the BT module in the rocker?
10:49:02speachyCSR8821 I think
10:49:12braewoodsdoes it matter? i thought everything used USB bluetooth.
10:49:15efqwUART based right?
10:49:25speachyUART (or USB) with I2S for audio.
10:49:36braewoodssince that's what every PC i've ever used has implemented bluetooth with
10:50:37efqwbut this is not PC
10:50:48braewoodsi just thought USB was the primary option
10:50:55efqwon embedded systems it's mostly UART with an optional pcm interface
10:51:00lebelliumpamaury: yes I'll have a look a bit later
10:51:26speachythe only physical interfaces formally defined by the BT standards are UART, USB, and (I think) SDIO. I don't recall ever seeing the latter implemented.
10:51:54braewoodswhy do people use bluetooth?
10:51:59braewoodsit seems really... weak
10:52:03braewoodslow bandwidth, low range...
10:52:07speachybraewoods: you mean besides the whole "no wires" thing? :)
10:52:30braewoodsit seems like a giant hassle with minimal gains
10:52:31speachybraewoods: and non-shitty BT audio codecs have been around for nearly as long as BT.
10:53:00speachybluetooth is more than good enough for what it was designed to do.
10:53:18efqwspeachy: you'd be surprised, check out drivers/bluetooth/*sdio.c
10:53:19braewoodswirelessly connecting low power accessories?
10:53:30braewoodsor low bandwidth
10:53:50braewoodsi wouldn't waste time implementing BT file transfe
10:53:56braewoodsit's too slow to be practical
10:54:25efqwbtmtksdio.c, btmrvl_sdio.c, btsdio.c
10:54:27speachyBT for raw data transfer is rare
10:54:30braewoodsusb can easily do megabytes... last time i tried BT file transfer it was measured in kilobytes
10:54:59speachyBT 3.0 (I think) defined a high data rate transfer that basically consisted of handing the data over to wifi.
10:55:15braewoodsi see
10:59:44efqwRemember ampak?
11:00:03efqwI think we can get FM+WiFi+BT modules from them.
11:00:33efqwEven if we don't plan to use WiFi, it still fulfills the need for a FM tuner
11:00:43speachyI do not want wifi. it's going to add a ton of system complexity.
11:00:55speachyplus extra regulatory headaches
11:00:55braewoodsi could only see one use to wifi and even then it would require a network stack to leverage
11:01:14efqwBT still has the regulatory headaches tbh
11:01:27braewoodsi have setup icecast and mpd before
11:01:29speachyyes, but they are more self-contained
11:01:56braewoodsyou could remotely control rockbox over the network and such
11:02:00braewoodsother than that I see little use
11:02:30braewoodsi made a network controlled music player before
11:02:35speachybraewoods: "streaming audio" is quite useful, but it's not one that makes much sense for us.
11:02:53braewoodsso more in the area of
11:03:05braewoodswhich allows remote control of what the linux system is playing
11:03:08speachygiven there are plenty of alternatives on the market today. plus we'd probably never manage to get "apps" for the commercial services.
11:03:10efqwMy point is, you can power down the WiFi part, and you still get BT+FM within one module.
11:03:29braewoodswho needs apps for rockbox?
11:03:34CtcpIgnored 2 channel CTCP requests in 1 hour and 28 minutes at the last flood
11:03:34*braewoods boggles
11:03:36efqwThat will help with board layout and simplify the design.
11:03:42speachybraewoods: have you seen the plugin list? :)
11:04:10braewoodsspeachy: but yea, remote control via networking would be cool but that's the only use i see
11:04:13braewoodsthat's how MPD works
11:04:27braewoodsit plays music on a system and remote users can control what it is doing
11:04:33braewoodsit is network enabled
11:04:37braewoodsbut differnet use case
11:04:56braewoodsif i was going to do that for RB, i'd probably write a bridge between MPD protocol and RB internals
11:05:08braewoodssince MPD is well established
11:05:13braewoodsplenty of clients for it
11:05:44speachyI have extensive network-controlled audio but tbh rockbox is poorly suited from a UI perspective; there are vastly superior ones already to be had
11:05:55speachy(even completely F/OSS ones)
11:06:04braewoodsindeed so i'd just have it be a remote control interface of some kind
11:06:26braewoodsthere's another idea...
11:06:36speachyI mean, a RPi+Hifiberry DAC will cost you what, $30?
11:06:38braewoodsreplicate the RB UI in a web interface or so
11:07:13braewoodsbut kinda pointless
11:07:37speachyRB UI in a web interface would be as awful as our current touchscreen UI is today
11:08:15braewoodsspeachy: was the GCC toolchain updated? i'm building the toolchain and the script appears to have switch to 4.9.x
11:08:19braewoodsat least for some targets?
11:08:33speachybraewoods: mips and hosted stuff has been 4.9.x for a couple of years now, I think.
11:09:03efqwI looked it up, the common AP6212 will do, it does BT4.0 and FM. Problem here is that I don't see separate pins to power down the WiFi part.
11:09:03braewoodsit's weird how i see mips come up in embedded targets every now and then
11:09:22efqwBroadcom had other chips that allow you to power down individual parts of the chip.
11:09:33braewoodsbroadcom is terrible about open source support though
11:09:59braewoodsat best the linux kernel usually manages to...
11:10:13braewoodswork with a mixture of firmware blobs and kernel drivers
11:10:37speachybroadcom will be absolutely horrible to work with.
11:10:46speachyif we don't have a volume in the seven digits
11:10:56speachythey won't even answer the phone
11:10:59efqwIs CSR(qcom) any better though?
11:11:14braewoodsthey bought atheros...
11:11:23speachyCSR actually is better, but what helps is that their BT stuff is very self-contained.
11:11:27braewoodstheir qualcomm / atheros chips tend to be good
11:11:36speachyno massive blobs, GPL violations, etc etc
11:11:37braewoodssome older ones work without any firmware blobs
11:11:58efqwMediaTek probably won't answer the phone either if you ask them about Airoha chips unfortunately.
11:12:02speachytheir wifi stuff has been barely tolerable at bast though
11:12:27speachy(I have scars from dealing with Atheros back in the day; qualcomm made it _worse_)
11:12:50braewoodsmediatek is pretty awful as well
11:12:59braewoodstheir official wifi drivers are 100% proprietary
11:13:10braewoodsyou can't even redistribute the source so...
11:13:12efqwWhat I like about CSR is that you can store the firmware on a flash sometimes and don't have to worry about fw blobs.
11:13:21braewoodsit's hard to get updated images for openwrt
11:13:38braewoodsthough the openwrt community has tried to develope their own driver for it
11:13:41braewoodsit's still got issues
11:14:32braewoodsi hope pine microsystems is of some help
11:15:03speachypamaury: It looks like that the NWZ_LINUX targets are likely broken with respect to anything that uses HOME_DIR.
11:17:42braewoodsspeachy: HOME_DIR? afaik there's 2 ways to look that up. assume the environment HOME variable is correct or look it up in passwd.
11:18:10speachyHOME_DIR is a build-time constant, see firmware/export/rbpaths.h
11:18:22braewoodsso hard-coded
11:18:36speachythere is a special case in place to deal with $HOME on targets that actually set it (eg simulator)
11:20:43speachywe have places that hardcode using HOME_DIR in paths, and that gets passed into the hosted FS code that in turn tries to prepend HOME_DIR.
11:21:13speachybasically only places that should be using that HOME_DIR #define are the core filesystem code. everything else should just use "/"
11:21:52 Join petur [0] (~petur@rockbox/developer/petur)
11:24:50efqwI wasn't able to find out who made the BT module in the rocker unfortunately
11:25:04efqwThat form factor is rather unique and hard to find
11:25:47efqwIf you search for "Bluetooth module" most of the results that pops up are either those old chunky CSR stuff or ampak modules
11:25:52speachyefqw: CSR8821?
11:26:35speachywhoops, CSR8811
11:27:29efqwyeah, 8811 makes sense
11:27:30speachyOr I guess that's not hte acual "module"
11:27:43efqwI was looking for 8821 but didn't find anything
11:28:32speachynot clear if it's that's just the IC and additional external components are under that can
11:36:37efqwok, it's probably just the chip, a crystal, and some small passives
11:42:35efqwsomething like this but more condensed basically
11:52:23 Quit koniu (Ping timeout: 240 seconds)
11:52:58efqwspeachy: Have you managed to get a modified ubi with rb on it? If you ever do please send a copy to me so I can try it out.
11:53:41 Join koniu [0] (~koniu@gateway/tor-sasl/koniu)
11:54:32speachyI haven't gone that far yet. tonight probably. I'm still kicking at other general hosted bugs.
11:57:01efqwsure, lmk if you do, I'll do more research on the ota part
12:03:53speachyok, think I've finally got the rbpath mess cleaned up.
12:04:05speachyshould fix a pile of misc bugs on our mostly-little-used hosted targets
12:04:19speachyand hopefully not introduce new ones on some of the corner cases
12:05:15speachyI need to land the eros changes first
12:05:52speachybut that will have to wait until I get back; I'm pretty sure I'm going to introduce some yellow with the next two.
12:06:08fs-bluebotBuild Server message: New build round started. Revision 5efaa9e, 287 builds, 10 clients.
12:06:10speachyand then I'll try to generate a m3k patched image
12:11:11efqwsounds good
12:11:25efqwregarding the public key found in fiio
12:12:00efqw*found in fiio's recovery initramfs, I'm having trouble getting it into a human-readable format
12:12:15efqwIt's a text file that starts with "v2"
12:14:36 Join icypee [0] (
12:14:51icypeei moved all my data to a new sd card
12:14:58icypeeand now rockbox won't read it
12:15:04icypeehow do i fix this?
12:18:59 Quit pamaury (Ping timeout: 240 seconds)
12:20:07fs-bluebotBuild Server message: Build round completed after 839 seconds.
12:20:09fs-bluebotBuild Server message: Revision 5efaa9e result: All green
12:23:10 Quit michaelni (Ping timeout: 246 seconds)
12:32:46 Join johnb3 [0] (
12:36:40***Saving seen data "./dancer.seen"
12:37:19efqwoh, I found the format
12:38:03efqwIt was explained in $BSP_v6.0/development/tools/ota/verifier.c
12:38:38 Quit icypee (Remote host closed the connection)
12:38:53 Join sakax [0] (~r0b0t@unaffiliated/r0b0t)
12:39:47 Quit johnb3 (Quit: Nettalk6 -
12:41:16efqwThe verifier code and RSA code were taken from an old branch of this:
12:41:33bluebrotherspeachy: how does that github mirror of Rockbox' git work? Is it being pushed to regularly from the server?
12:42:42bluebrotherplayed around with github actions, managed to get Rockbox Utility build with it (Linux for now): bluebrother/rockbox/actions">
12:43:21bluebrotherso adding the github workflow file to the main repo should eventually end up in the mirror, making github do the build afaiu.
12:43:34bluebrothercould be interesting to get regular builds of Rockbox Utility.
12:45:01bluebrotheroh, there's even an irc notifier action.
12:45:04lebelliumpamaury done
13:10:43 Join pamaury [0] (~pamaury@rockbox/developer/pamaury)
13:11:57pamauryspeachy: I don't remeber much what HOME_DIR is about, I never wrapped my head around hosted port, too much magic
13:24:35 Join ac_laptop [0] (~ac_laptop@
13:32:04 Quit beencubed (Quit: Leaving)
13:36:34 Join beencubed [0] (~beencubed@
14:00:27braewoodstook a fair effort but I finally figured out how rockbox does bootloader validation in the iriver_flash plugin
14:00:51braewoodsnot to mention the crc32 algorithm is a bit weird.
14:02:45braewoodsi thought it would be identical to cksum since they use the same polynomial but nope
14:03:24braewoodsso i ended up writing a short C program to duplicate the crc32 checksumming on my desktop so i can find the actual checksum for adding the test bootloader to the existing table
14:03:56braewoodswhat a pain but it works i guess
14:04:08braewoodsit successfully works with the known good bootloaders
14:08:38 Quit Rower (Ping timeout: 256 seconds)
14:18:29_bilgus_do they use the same polynomial maybe its mi4 I was thinking of that uses a different one
14:19:08braewoods_bilgus_: the source for firmware/common/crc32.c says it uses...
14:19:51braewoodsabove the lookup table
14:20:36braewoodssame here
14:20:41braewoodsso no idea why they're different
14:20:52braewoodsi'm not an expert on crc32 implementations
14:21:07braewoodsmain reason i've seen differences though were different polynomials
14:22:04braewoodsi should check the coreutils implementation just to verify that
14:26:44braewoodseven if it's wrong... can't really change it now for compatibility reasons
14:27:14braewoodsjust noticed i couldn't reproduce the table checksums with cksum.
14:27:30braewoodswhich i assumed would be the same since they supposedly use the same polynomial
14:29:18_bilgus_generally you seed the crc function with an initial seed 0xFFFFFFFF this also functions as a continuation function
14:30:03_bilgus_so if you need the proper starting seed that could explain the issue
14:31:13braewoodstheir starting CRC value is 0
14:31:18braewoodsin coreutils
14:31:27braewoodsi'll see what happens if i do that with RB's function
14:32:28braewoodsoh well
14:32:40braewoodsdoesn't matter to me that much to find out since the RB implementation is what matters here
14:33:49 Join michaelni [0] (
14:34:05braewoodsspeachy, _bilgus_: how does this look for a consolidate set of build and setup instructions for bootloader building?
14:34:25braewoodsit appears to work
14:34:38braewoodsi've never built this before so not sure if i've overlooked anything
14:36:12_bilgus_the dependencies looks a bit short but if itworks it works
14:36:23braewoods_bilgus_: that's from the wiki page... the beginners guide
14:36:33braewoodsit compiles just fine afaik
14:36:45***Saving seen data "./dancer.seen"
14:36:47braewoodsis what i based it on
14:37:54_bilgus_yeah I think strife updated or made that a while back..
14:40:21braewoodsi based it on Debian 10 host
14:40:57braewoodsanyway i'll see where i can go with this
14:41:11braewoodsjust wanted to be pretty sure i'd followed the instructions completely
14:41:41braewoodsi plan to build new bootloaders for both h1x0 targets
14:41:49braewoodsbut i can only test the h120 / h140
14:42:05braewoodsthe other one... i guess i'll assume it works if the other does since they're related
14:42:32braewoodsi can't even find the h115 etc for sale used
14:42:38braewoodsthe h120 and h140 are more common
14:43:13braewoodsI ended up with one of each for about $120 combined
14:43:20braewoods2 h120s
14:46:48 Quit petur (Remote host closed the connection)
15:08:57braewoodsinteresting line in that source though
15:09:12braewoodsconst unsigned char *buf = (const unsigned char*)src;
15:09:19braewoodsthe originally is a const void*
15:09:36braewoodsis a cast really necessary considering void is implicitly converted when reassigned?
15:10:23braewoodsno warnings from my GCC
15:11:33braewoodsat least I understand why (void) casts are sometimes done
15:11:54braewoodstell the compiler something is either unused or only used for side-effects
15:12:35braewoodsi've done it to suppress warnings for unused parameters in callback functions before since it's a portable way to do so.
16:26:00 Quit pamaury (Ping timeout: 256 seconds)
16:36:48***Saving seen data "./dancer.seen"
16:39:23fs-bluebotBuild Server message: New build round started. Revision 2a471e2, 290 builds, 9 clients.
16:43:12 Quit _bilgus_ (Remote host closed the connection)
16:45:07 Join _bilgus_ [0] (~bilgus@2605:a000:1301:89f6:7df7:7326:e72f:ac24)
16:53:37 Quit sakax (Remote host closed the connection)
17:04:17fs-bluebotBuild Server message: Build round completed after 1494 seconds.
17:04:18fs-bluebotBuild Server message: Revision 2a471e2 result: 112 errors 0 warnings
17:21:15fs-bluebotBuild Server message: New build round started. Revision a5add39, 290 builds, 9 clients.
17:30:37speachyit occurs to me that instead of all of this pivot_root nonsense, why not just use chroot instead...
17:42:27fs-bluebotBuild Server message: Build round completed after 1271 seconds.
17:42:28fs-bluebotBuild Server message: Revision a5add39 result: All green
17:45:55 Quit lebellium (Quit: Leaving)
17:48:27 Quit _bilgus_ (Remote host closed the connection)
17:49:35 Join _bilgus_ [0] (~bilgus@2605:a000:1301:89f6:7df7:7326:e72f:ac24)
18:15:15fs-bluebotBuild Server message: New build round started. Revision db6f21e, 290 builds, 9 clients.
18:30:22fs-bluebotBuild Server message: Build round completed after 907 seconds.
18:30:23fs-bluebotBuild Server message: Revision db6f21e result: 7 errors 1 warnings
18:36:49fs-bluebotBuild Server message: New build round started. Revision 135b3f6, 290 builds, 9 clients.
18:36:52***Saving seen data "./dancer.seen"
18:38:46braewoodsspeachy: afaik pivot_root is mainly for initramfs to change to the true root
18:39:35braewoodsit allows for a handover for the actual running system from the early boot one
18:39:50braewoodsbut i doubt initramfs is used much in embedded
18:39:53speachywhat's called PIVOT_ROOT in our code is actually a mostly-faked chroot
18:40:12braewoodsi thought you meant the Linux pivot_root feature.
18:40:20braewoodsliterally the same name
18:40:59braewoodsyou can do a lot of weird stuff with chroots
18:41:10braewoodsbind mounts... mount namespaces...
18:43:24speachybut it's now all cleaned up to the point where proper chroot is _finally_ possible. bleh.
18:43:52speachyall internal paths are relative to /, and only in a single place do we prepend the actual system root
18:48:01braewoodsspeachy: have you looked at openat, etc?
18:48:41braewoodsthose can be pretty useful for coding for opening paths relative to a directory without having to maintain the directory path.
18:52:15fs-bluebotBuild Server message: Build round completed after 926 seconds.
18:52:16fs-bluebotBuild Server message: Revision 135b3f6 result: All green
19:08:44 Join w4tchguard [0] (~w4tchguar@2001:ac8:84:33::a10d)
19:30:07 Join mendelmunkis [0] (
19:36:09mendelmunkiswhat do I need to do to update my build machine?
19:36:15 Nick mendelmunkis is now known as mendel_munkis (
19:41:58speachytake the in the gerrit commit and regenrate everything
19:42:20speachythen update the script used to invoke things and tell it you have the gcc494 stuff
19:51:39 Join fs-bluebot_ [0] (
19:51:48 Quit bluebrother (Disconnected by services)
19:51:53 Join bluebrother^ [0] (~dom@rockbox/developer/bluebrother)
19:53:48 Quit fs-bluebot (Ping timeout: 256 seconds)
20:04:23speachyI'm regenerating the toolchains myself now.
20:07:18speachyBTW, I don't recommend putting them in /usr/local (ie the default), as it makes it a lot harder to blow them away properly
20:07:37speachyI have mine in their own location, and add them to $PATH
20:36:56***Saving seen data "./dancer.seen"
21:39:27_bilgus_speachy got the rocker much smaller than I expected and the OF bluetooth menu is terrible
21:39:41_bilgus_what was it you wanted me to test?
21:39:48speachyyeah. its functionality isn't all that much better. :)
21:41:19speachypair that with the latest dev build.
21:43:02speachy(rename that file to upgrade.upt, and in the OF you can tell it to initate an upgrade)
21:43:34speachy(one of the enhancements I've made to the loader is the ability to initate these upgrades without using the OF)
21:44:18speachybasically I need to make sure the loader still works properly on the rocker, and the tools menu fits/is usable
21:50:48speachyother enhancements −− plugging the USB cable in the loader no longer force-enters the OF's USB mode (it uses the last selection, unless adb is running in which case it does nothing)
21:57:15speachythe Rocker is in much better overall shape than it was a couple of weeks ago. Other than bluetooth and some possibly questionable keymaps, it's a solid player now.
22:00:24_bilgus_for multiple devices at that excellent rockboxery there speachy
22:01:27speachywe're fortunate this hibylinux platform is so widespread and easy to inject ourselves into
22:12:38_bilgus_upgrade.upt and I assume it goes in the root?
22:12:46_bilgus_tells me NO UPGRADE!
22:17:07_bilgus_nm update.upt
22:17:38_bilgus_v_v succeed
22:36:58***No seen item changed, no save performed.
22:46:38 Join gu4rd__ [0] (~w4tchguar@2001:ac8:84:31::a08d)
22:49:55 Quit w4tchguard (Ping timeout: 240 seconds)
22:50:51 Join w4tchguard [0] (~w4tchguar@2001:ac8:84:37::a14d)
22:51:25 Quit gu4rd__ (Ping timeout: 240 seconds)
23:45:13 Join Stanley00 [0] (~stanley00@unaffiliated/stanley00)
23:57:09 Quit [7] (Disconnected by services)
23:57:15 Join TheSeven [0] (~quassel@rockbox/developer/TheSeven)

Previous day | Next day