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 | 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).

#rockbox log for 2021-07-18

00:00:51***Saving seen data "./dancer.seen"
00:22:14 Quit Maxdamantus (Ping timeout: 268 seconds)
00:23:52 Join Maxdamantus [0] (~Maxdamant@user/maxdamantus)
00:26:09sporkbraewoods: the m3k port is very usable as a daily driver. main reason it is 'unstable' seems that it cannot be installed with rbutil yet and has no manual
00:27:02sporkalso those x1000 devices have a lot of cpu power, memory and very clean audio hardware that sounds great
00:27:22braewoodslittle endian too i presume
00:29:48sporkyes, but does that matter ?
00:40:43braewoodsyes it does, actually. we still have big endian targets.
00:41:06braewoodswe have code that will only work on little endian. may become an issue at some point.
00:41:24braewoodsbut due to a lack of big endian targets where it matters, it's been moot to date.
00:42:12braewoodsthe only place i can say where it matters is the usb core. the transport is little endian but no attempt is made to account for it.
00:42:18braewoodsthat i can tell
00:42:41braewoodsif we ever end up with a big endian target that has a usb otg stack
00:42:50braewoodsit will need to have some work done
00:42:55braewoodsbut for lack of any way to test it
00:43:01braewoodsit's probably best left alone
00:44:24braewoodsi only account for endianness differences when i write code that will be compiled into all ports
00:44:56sporkok, that does make sense
00:45:43braewoodsi considered trying to do aligned reads to speed up the reading of a little endian byte stream but i realized it was far too much to manage
00:46:00braewoodsplus around half of our little endian targets don't really support unaligned reads
00:46:40braewoodsbut some inflate implementations do use larger integer types for reading from the bit stream
00:46:48braewoodsit just introduces some new problems though
00:47:08sporkseems big endian is reduced to some server systems these days
00:47:21braewoodsit's mainly an issue on coldfire
00:47:49braewoodscoldfire does have a few ports with USB OTG
00:48:00braewoodsbut it's usually usb 1.1 only and they have two usb ports
00:48:08braewoodswhich is a pain to support in rockbox
00:48:20braewoodsnot only would we need to redo the usb stack to be big endian compatible...
00:48:32braewoodswe would also have to somehow support a dual hardware/software usb setup
00:49:16braewoodsa lot of work for little gain that i can tell
00:49:23braewoodsplus we'd have to partially disable the software drivers
00:49:46braewoodsusb mass storage would be redundant since it's handled by a hardware chip on coldfire
00:50:40sporkthe iriver 300 is on you use, right ?
00:50:55braewoodsi sold mine actually but that was one yes
00:51:38braewoodsthere's a fair number of ways to address endianness
00:52:14sporkit looks likely that anything new capable of even running rockbox will be arm/mips based
00:52:31braewoodsindeed which can be either endianness
00:52:33sporkbut your collective commitment to keep older devices going is awesome
00:52:47sporkso old devices are important too
00:53:03braewoodswell writing code for all ports means i have to care
00:53:15braewoodsi can't assume they'll all support unaligned access or even the same endianness
00:53:36braewoodsi take this into account when writing code
00:53:38sporkwould the compiler not help you with that for a large part ?
00:53:53sporkor is this too low-level
00:53:56braewoodsendianness? No, not really. you still need to address it manually
00:54:22braewoodsfor example, i need to use the rbendian.h macros to handle file data that is in little endian byte order always
00:54:48braewoodswhenever you get data from a foreign source, you need to consider endianness if your data is larger than a byte for a single item
00:54:56braewoodsthis means files, networks, etc
00:55:21braewoodsanytime you read more than a byte, the endianness comes into play
00:55:32braewoodsthis is irrelevant for data that came from the same system
00:55:37sporki get that
00:55:48sporkcrucial for interfaces
00:55:52sporklike usb
00:56:00braewoodsso, one common trick is to just read the data one byte at a time and reconstruct it into what you need
00:56:08braewoodsthis is slower but it is portable
00:56:28braewoodspacked structs also an option
00:56:40braewoodsbut you still need to use something to deal with endianness
00:56:51sporkgotcha
00:57:13braewoodsthis method also deals with unaligned access
00:57:40braewoodsin my inflate code i decided just to use the byte approach because trying to support aligned reads for older ports is just too much hassle
00:57:52braewoodsit'll probably end up being fast enough
00:57:55braewoodson the newer ports anyway
00:57:56sporkeither way, besides the previously mentioned qualities of the x1000 devices, they are generally quite available too
00:58:21braewoodssince disk IO isn't that great on sd cards afaik
00:58:27braewoodsso
00:58:41braewoodsnot much point in heavily optimizing the decompression if we can't really leverage it fully
01:00
01:00:12braewoodsif i'm being honest though the only older units worth repairing are the HDD ones or flash ones with SD card support.
01:00:22braewoodsthe ones with fixed flash storage are really not viable anymore
01:00:53braewoodse.g., the SA9200
01:01:24sporki have not had any flash failures, but all my devices are too recent reslly
01:01:26sporkreally
01:01:38sporkbatteries are going though
01:01:41braewoodswell it's more the lack of upgradeability
01:01:50braewoodsbut yea
01:02:51braewoodsi don't expect the old ones to be super popular anymore but we still have a few users of them
01:03:06braewoodsone of my first rockbox projects was fixing the coldfire bootloader for the iriver stuff
01:03:23braewoodsthe existing ones had bugs with modern storage
01:04:48braewoodshuh a few arm ports are big endian
01:05:01braewoodssamsung yps3
01:05:22braewoodsand some meizu ones
01:05:58braewoodsspeachy: should we remove code for old ports that never got off the ground?
01:06:10sporknothing meizu ever got anywhere
01:06:16braewoodsyea...
01:06:40braewoodsi'm not inclined to add new old ports, but i don't mind polishing up the ones we have
01:07:16sporki think i have a meizu m6sl
01:09:22sporkfor a lot of old player hardware, rockbox is the first and sometimes only thing that comes up in google
01:11:41braewoodsyea a lot didn't survive to even have a regular presnece on ebay
01:11:49braewoodsgigabeats and irivers being one of the exceptions
01:12:25braewoodsi got lucky and found an mpio hd300 recently
01:14:57sporkwas that in working condition ?
01:15:54braewoodssupposedly, i haven't yet received it.
01:16:04braewoodsi had to import it
01:16:22braewoodsit's another coldfire target.
01:16:32braewoodscowon, mpio, iriver
01:16:45braewoodscoldfire was a decent cpu for its time
01:16:48braewoods150 mhz or so
01:16:54braewoodscompared to PPs 66mhzish
01:17:33rb-bluebotBuild Server message: New build round started. Revision 64a24591ae, 301 builds, 8 clients.
01:17:50braewoods_bilgus: thanks
01:17:58_bilgusthere ya go I'll be back at some point to check progress
01:18:17sporkmany players on ebay seem either insanely priced or non-functioning
01:18:17braewoodsin the future i plan to add some macros to enable it based on port info
01:18:39braewoodsspork: indeed. the existing gigabeat S ones are all overpriced. i bought all mine at lower prices.
01:18:52braewoodslatest one was about $70
01:19:09braewoodsonly problem is its battery is dead
01:19:12braewoodsi plan to replace it
01:19:18sporkthat is still quitr some money
01:19:23braewoodsindeed
01:19:28braewoodsbut i enjoy these for their unique features
01:19:52braewoodsthey also have TV out chips; i thought that would make a fun side project
01:19:57braewoodsadding support for tv out to rockbox
01:20:13braewoodsmaybe a bit pointless but what do i care
01:20:24braewoods:D
01:20:30sporkentertaining yourself is not pointless
01:20:36sporkbut it seems somewhat niche
01:20:41braewoodsyea
01:20:48braewoodsi'm focused on some more useful stuff first
01:20:56braewoodsthere's only a handful of old units with any composite output
01:21:05braewoodsthe gigabeat S, hdd6330, some ipods
01:21:23braewoodsbut i thought i'd start with the gigabeat S
01:21:29braewoodsi can test it with my video capture device
01:21:53sporkcreate a video endless loop
01:22:08braewoodsthe idea i had was to mirror the rockbox UI over it
01:22:20braewoodsi can't see any other use for it
01:23:34braewoodsheh. i just noticed something
01:23:42sporki tried looking for some spare sansa clip+'s on ebay, but not at those prices
01:23:46braewoods~x & 0xff == x ^ 0xff
01:31:38rb-bluebotBuild Server message: Build round completed after 846 seconds.
01:31:41rb-bluebotBuild Server message: Revision 64a24591ae result: All green
01:56:05 Join Maxdaman1us [0] (~Maxdamant@user/maxdamantus)
01:56:16 Quit Maxdamantus (Ping timeout: 252 seconds)
01:58:37 Quit massiveH (Quit: Leaving)
02:00
02:00:54***Saving seen data "./dancer.seen"
02:31:32 Nick Maxdaman1us is now known as Maxdamantus (~Maxdamant@user/maxdamantus)
02:43:13 Join lebellium [0] (~lebellium@2a01:cb10:2e:2000:ad47:9905:32:3e2d)
03:00
03:41:54 Join johnb2 [0] (~johnb2@HSI-KBW-109-192-046-112.hsi6.kabel-badenwuerttemberg.de)
04:00
04:00:56***No seen item changed, no save performed.
04:21:15 Join f1reflyylmao [0] (~f1refly@p2e50bf2e.dip0.t-ipconnect.de)
04:21:30 Quit akaWolf (Ping timeout: 268 seconds)
04:22:24 Quit f1refly (Ping timeout: 268 seconds)
04:22:24 Nick f1reflyylmao is now known as f1refly (~f1refly@p2e50bf2e.dip0.t-ipconnect.de)
04:24:57 Join akaWolf [0] (~akaWolf@akawolf.org)
04:58:46Arsenis there any docs on how to enable logf? I see many logfs in the usb mass storage driver (eg logf("transfer result for ep %d/%d %X %d", ep,dir,status, length);) but I never see them in the debug menus show log file
04:59:01Arsen(I configured with debug and logf enabled, with a different rbdir)
05:00
05:00:00 Join ZincAlloy [0] (~Adium@ip5f5abcae.dynamic.kabel-deutschland.de)
05:24:21 Join amachronic [0] (~amachroni@user/amachronic)
05:30:35amachronicArsen: you need to #define LOGF_ENABLE at the top of the file before any other includes
05:30:57Arsenamachronic: does autoconf.h count?
05:31:04Arsenor should I enable it per-file
05:31:17amachronicit's supposed to be per-file because the logf buffer is quite small
05:31:24amachroniceasy to overflow
05:31:31Arsenmakes sense, got it, ty
06:00
06:01:00***Saving seen data "./dancer.seen"
06:02:00Arsenamachronic: yeah, awesome, that worked perfectly, ty
06:04:51Arsenyep, the logs agree with my observations last night, scsi write10, and it hangs
06:14:44Arsenhow do I know what usb driver is being used for a certain target (ipod6g), I want usb_drv_recv logfs, and it looks like it's defined in multiple places to me
06:16:12amachronicit's in the target's config file −− for ipod6g it's the usb-designware driver
06:16:22Arsenah, must've missed that line
06:16:24Arsenty
06:21:52amachronicbtw, x1000 ports (fiio m3k / shanling q1) use the designware driver and have trouble when DMA is enabled
06:22:07Arsenwhat kind of trouble?
06:23:25amachroniciirc the mass storage interface doesn't always respond to the initial enumeration / setup traffic
06:23:44amachronicit's not easily reproducible though, and I haven't looked into it
06:23:49Arsensounds unrelated to what I'm seeing here, here it does respond to the enumeration and setup, but stops responding to write10s
06:24:08Arseneven when the kernel resets the device, a new setup happens, it works fine, a new write10 is sent, and it again does not respond
06:24:25amachronicstill DMA could be the common factor
06:24:29ArsenI have a pcap traced dump of that usb traffic
06:24:33Arsencan it be disabled to test?
06:24:45amachronicyes, mine works fine if DMA is disabled
06:25:17amachronicadd #define USB_DW_ARCH_SLAVE to the target config file
06:25:27Arsenbuild/config.h should work right
06:25:34Arsenor do you mean firmware/export/config/ipod6g.h
06:25:38amachronicyes
06:25:40amachronicthe latter
06:25:42Arsengot it
06:39:54ArsenUSB_DIR_IN says "to host", this would mean the master/PC in this case, while device is the slave/ipod, right?
06:41:42amachronicI think so
06:42:29amachronicwith USB I believe in/out is always from the perspective of the host
06:44:29Arsenoh, right, that makes sense considering that it logs that it's weird to see a receive with direction IN for writing (since IN means on host, and writes happen to the device)
06:53:56Arsenoh damn, with that flag I get [sdd] ta g#0 FAILED Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_OK cmd_age=31s
06:56:53 Quit amachronic (Ping timeout: 255 seconds)
06:58:01 Quit johnb2 (Ping timeout: 265 seconds)
07:00
07:18:02 Join dconrad [0] (~dconrad@208.38.228.17)
07:24:33Arsenthe DMA thing might have only helped very slightly, I still get resets after some time
07:48:52Arsen"URB status: Connection reset by peer (-ECONNRESET) (-104)", from 1.123.2 (endpoint on ipod) to host
07:48:53Arsenhmm
08:00
08:01:01***Saving seen data "./dancer.seen"
08:01:04 Join amachronic [0] (~amachroni@user/amachronic)
08:03:05Arsenthe ipod6g has a distinct ata driver, huh
08:03:23Arsenwhy does it reference mmc?
08:03:32amachroniclikely CE-ATA
08:04:29Arsenthat shows up here a lot of times too, yeah
08:05:58Arsenthis uses usual ATA commands, afaict
08:10:24 Join johnb2 [0] (~johnb2@HSI-KBW-109-192-046-112.hsi6.kabel-badenwuerttemberg.de)
08:10:41dconradamachronic: are there any last minute things you want me to take care of on g#3506?
08:10:43rb-bluebotGerrit review #3506 at https://gerrit.rockbox.org/r/c/rockbox/+/3506 : New Port: Eros Q Native by Dana Conrad
08:11:03amachronicdon't think so, let me check
08:11:26amachronicI would've merged it yesterday but the rockbox site was down for a while
08:11:40dconradyeah, it seemed to be out all day
08:14:37rb-bluebotBuild Server message: New build round started. Revision 3e7a09cb0d, 301 builds, 9 clients.
08:15:11dconradchanging the dma_wr_cmd didn't seem to affect that rare hang bug though, I thought for sure that was it
08:16:14amachronicthat gets sent for every working frame too, so it's not really surprising
08:17:36dconradI thought maybe the lcd needed some time to wake up and stabilize or something, so sending it 4 times might fix it
08:18:27dconradthough now I'm not so convinced it's the lcd in the first place, in my latest testing I've gotten it to happen by pause/resume
08:18:33dconradso... not sure where it is
08:18:56dconradits rare though
08:21:49Arsenoh btw amachronic, after you timed out I had tried that DW_ARCH_SLAVE define, it only very slightly affected what happened, in the sense that one time I got a SCSI error before disconnecting, but couldn't reproduce that, it continued to reset after that like it did before
08:23:54Arsenwhat's this ramdisk thing?
08:24:09Arsenmaybe I could further isolate issues with it
08:24:10speachyArsen: what's your USB host controller?
08:24:16speachyUSB3, USB2?
08:25:18 Quit johnb2 (Quit: Nettalk6 - www.ntalk.de)
08:25:27Arsendmesg says xhci_hcd, so usb3
08:26:05speachyhmm, ok. I dont' recall seeing any issues of significance with the ipod6g usb controller.
08:26:21speachyArsen: did you try reverting to the 3.15 stable release?
08:26:39ArsenI can do that now that the website is up
08:27:26ArsenI'll need to manually write it to the sd card, though, since rbutil going through usbms won't work (which is the core of the issue here)
08:28:19speachyand you can't boot into the OF due to sector size shananigans
08:29:10speachyand forgive me if you answered this already, but were you able to see if the OF had issues with the original hard disk?
08:29:43Arsenthe original HD? I don't believe so, rockbox certainly didn't, I didn't use OF for very long, though
08:30:20Arsenwell, this drive is also far larger than OF can handle on this model (250G)
08:30:55amachronicspeachy: https://gerrit.rockbox.org/r/c/www/+/3585 −− OK or did I forget something?
08:34:01Arsenbtw someone else had this issue: https://www.reddit.com/r/rockbox/comments/6fb5jz/keeps_disconnecting/ so now I have three reasons to believe it's in sw: it works normally copying files using rb's file manager, it works normally when I take out the SD card, and I'm not alone
08:34:01amachroniceh, sim build needs fixing first.
08:34:30Arsenspeachy: can reproduce with http://download.rockbox.org/release/3.15/rockbox-ipod6g-3.15.zip too
08:34:46rb-bluebotBuild Server message: Build round completed after 1209 seconds.
08:34:46speachyI'm not so sure there's a point in having the native sim vs non-native sim.
08:34:50rb-bluebotBuild Server message: Revision 3e7a09cb0d result: All green
08:35:08speachyditto on checkwps
08:35:21speachyotherwise though, it's sane.
08:35:24amachronicokay, I'll drop those
08:36:54ArsenI'm about 75% sure the issue is somewhere in usb_storage.c, since reading and serial both work fine over usb, it's just the occasional write(10) that never gets a response
08:36:59speachyit's not in builds.pm yet either, which is effectively the same as being in there but marked as "unusable"
08:37:12Arsens/reading/reading from the storage/
08:37:27speachyArsen: so it's not a regression. but if it was _that_ bad I'd expect to see hordes of angry forum users.
08:38:02Arsenwell, it's an ipod classic combined with an iflash, maybe it's also some weird interaction with my specific host controllers, after all, usb controllers have millions of quirks
08:38:21Arsenhowever I doubt that, since it's write(10)s
08:38:37speachyperhaps some sort of strange timing/data race/interrupt delivery issue?
08:38:43Arsenyeah, not sure why it's this rare
08:38:58speachybut even still, there are ipod6g+iflash users happily rockboxing along
08:39:33speachygut feeling is some sort of hw issue. perhaps it is something we can ultimately work around but that requires figuring out the trigger.
08:40:01ArsenI may sprinkle logfs all over usb_storage.c to see what it may be, and have something on the host end to capture the logs that produces over serial
08:40:05amachronicis the dwc databook available anywhere? synopsys seems to keep it locked down
08:40:18speachyserial is _very_ low bandwidth compared to UMS.
08:40:48Arsenyeah, true, I don't mind slowing the latter down for testing purposes, though
08:40:55speachyI've seen the dwc docs in multiple places. and it's also been pretty much cut-n-pasted into many more SoC documents.
08:41:30speachy(I first scounged it up trying to figure out an issue with the RPi USB controller)
08:41:58amachronicthe x1000's datasheet has some details like registers
08:42:11speachyArsen: I don't know if there's a feasible way to kneecap the USB negotiation to 1.1 speeds
08:42:27speachy(well, beyond using an old USB1 hub)
08:42:28amachronicbut there are some comments in usb-designware about the ipod nano 2g and quirks which lead me to believe there is much more detailed information.
08:42:39ArsenI don't think I have any of those laying around
08:43:05speachyI'm sure rockbox could be told (via hacking the dwc driver) to stick to USB1
08:43:08Arsenamachronic: could the linux driver be of any use?
08:43:34amachronicpossibly but it's then a matter of 'reverse engineering'
08:43:42Arsenhm, true
08:43:58Arsenspeachy: would there be a way to trigger a log to happen to dump some information about the state of usb_storage.c on demand?
08:44:14ArsenI could nave it not do anything until I, for instance, hit SELECT, causing it to dump various possibly interesting variables
08:44:34speachyyeah, the linux driver is structured quite differently and it's difficult to determine if a given quirk is due to Linuxisms or Hardware misfeatures
08:45:10speachyArsen: sure, all of that is possible. Heh, I used the hold switch on the X3 as a trigger for arbitrary stuff when I was debugging USB and MSC DMA.
08:46:17Arsenactually, before that, what does USB_USE_RAMDISK do?
08:46:34Arsenmaybe I could isolate whether it's writing to the drive or receiving the commands that fails if it does what I think it does
08:51:29speachyamachronic: there was a copy in one of the old Ingenic Halley data dumps.
08:51:38speachydon't seem to have a copy any more, damnit.
08:51:56amachronicI've got two but I'll have to dig them out and check
08:52:10amachronicingenic seems to have removed them from their ftp server now
08:53:38speachyI have two separate ingenic mirror snapshots bit it's not in either.
08:53:46rb-bluebotBuild Server message: New build round started. Revision 07a3f6bcdb, 303 builds, 9 clients.
08:53:49speachybut I can't find my doc stash from that RPi debugging session either.
08:54:16amachronicdconrad: eros q native is now building
08:54:29speachyI'd have just symlinked the bitmap FWIW. :)
08:54:38dconradsweet! hopefully all goes smooth
08:55:12sporkeros q looks like a nice device
08:55:14amachronicI can change it to a symlink, I just wasnt sure if git tracked them
08:55:41dconradit's pretty nice I think, it's a chonker though
08:56:04dconradbummer about no hardware volume control though
08:56:05speachyI really like the eros q/k series too.
08:56:28speachyand a native port is a _huge_ step forward
08:56:56dconradnice quick boot now :)
08:57:12speachyexactly. it becomes a _lot_ more usable for visually impaired users.
08:57:41speachyand we're also not hamstringed by only having 6-7MB of usbable RAM for rockbox's use
08:58:01dconradis that really all the hosted port has available?
08:58:11dconradlinux must be hungry
08:58:21speachyyeah, 6MB is all you can really rely on, though if I wanted to force-kill the BT stuff I could eke out anotuer couple of MB
08:59:01speachygranted Linux handles things like caching etc too
08:59:28sporknow i have to google 'chonker', hopefully it will leave no scars
08:59:33speachythe HibyOS platform is actually pretty well put together; if we reworked how our hosted players work it would integrate better
08:59:49speachyspork: if you want to be safe, include "cat" in the search
08:59:59Arsenlol yeah
09:00
09:00:25Arsenwhere are keypresses handled? so that I can add code to dump variables
09:00:27dconradcurse my internet-isms
09:00:39ArsenI'm most interested about the state enum in usb_storage.c
09:00:46speachybest to put them in button-target.c
09:01:07speachyunder firmware/target/arm/s????/ipod6g/
09:01:13Arsenalright
09:02:04speachyamachronic: and yes, git tracks symlinks. git might also be smart enough to dedup the (presumably identical) file.
09:02:27Arsenit is, if two files have identical contents, they have the same blob hash, and hence get consolidated
09:02:47Arsenthis is why 1k commits just adding files won't grow exponentially
09:03:35speachyI have to head out for a day trip playdate thing with the kiddo. hopefully things will stay online for the count.
09:03:51Arsenenjoy!
09:05:18speachyamachronic: I don't think we should put the qnative into builds.pm yet.. because the hosted port is working/usable I don't want to introduce confusion until we're a little further along
09:05:43amachronicyes, I figured as much
09:05:44speachy(if it had a manual entry the hosted port it would be considered "stable")
09:05:51sporki like the physical buttons of the eros q. big battery too. shame about the microusb
09:05:59speachyanyhow.
09:06:00*speachy idles.
09:07:08Arsenuh, button-target.c isn't a think anywhere in the build system afaict
09:07:38amachronictry button-ipod6g.c
09:08:26Arsenno, none of that either, there's a ./firmware/target/arm/ipod/button-clickwheel.c though
09:08:45Arsen"build/firmware/target/arm/ipod/button-clickwheel.o" looks like that's the one that gets built
09:08:53rb-bluebotBuild Server message: Build round completed after 907 seconds.
09:08:55rb-bluebotBuild Server message: Revision 07a3f6bcdb result: 1 errors 0 warnings
09:09:55dconrad??
09:10:44dconradno rockbox.zip was produced?
09:11:37 Quit amachronic (Read error: Connection reset by peer)
09:12:55dconradah, should be make zip apparently
09:13:06Arsenyes, or fullzip to add fonts and stuff
09:13:19 Join amachronic [0] (~amachroni@user/amachronic)
09:16:35dconradyou know, I always wondered why the fonts wouldn't just be included by default
09:16:49Arsenprobably size, idk
09:19:01rb-bluebotBuild Server message: New build round started. Revision 09fc9ee9a3, 303 builds, 9 clients.
09:21:11dconradphew, that error scared me for a second there haha
09:22:34ArsenI wish there was a more convenient way for me to test this than to unplug and disassemble the ipad every time in order to take out the SD card, plug it into my laptop, and download the new rb build to it
09:32:33rb-bluebotBuild Server message: Build round completed after 812 seconds.
09:32:35rb-bluebotBuild Server message: Revision 09fc9ee9a3 result: All green
09:32:39dconradwoohoo
09:35:14sporkgreat job, dconrad
09:35:49dconradthanks! I'm super proud
09:37:24sporkit was also fun to read your journey. seems like you learned a lot
09:37:53dconradyeah definitely - this is probably the most intensive software thing I've ever done
09:38:23dconradand the x1000 code was already there!
09:38:36sporkyou had a great 'mentor'
09:38:46dconradabsolutely
09:42:24Arsenwhat does button_read() return? I tried checking if its equal to BUTTON_SELECT in button_tick, but that seems to be doing nothing (unless that thread makes logf some sort of a noop)
09:59:30dconradArsen: you might try bitmasking button_read's output is equal to BUTTON_SELECT
10:00
10:00:19dconradsomething like (button_read() & BUTTON_SELECT) == BUTTON_SELECT?
10:01:05***Saving seen data "./dancer.seen"
10:04:17ArsenI'm going to try if (btn & BUTTON_SELECT) { usb_storage_dump_state(); } further down in button_tick, after it decodes whether it's a press or a release and isolates the keys
10:08:45Arsenoh, the logf isn't printing anything, either to memory or to serial
10:09:19ArsenI have #define LOGF_ENABLE before #include "logf.h", though
10:12:33ArsenI'll have to revisit this a bit later, if anyone knows why logf wouldn't print despite being enabled (and the compiler giving me warnings related to it if i mess up), do highlight me
10:28:26 Nick Blackwolfster is now known as Romster (~romster@user/romster)
10:57:45 Quit amachronic (Ping timeout: 265 seconds)
11:00
11:48:17ArsenI am quite confused about logf not working here
11:49:07ArsenI have these: ``#define USB_ENABLE_SERIAL`` ``#define ROCKBOX_HAS_LOGF 1`` ``#define LOGF_SERIAL 1``
11:50:07Arsenalso ``#define LOGF_ENABLE`` in firmware/usbstack/usb_storage.c
11:50:31ArsenI don't even see logf("usb_storage_init done");
11:57:12Arsenoh, could it be ccache
12:00
12:01:07***Saving seen data "./dancer.seen"
12:50:08__builtinArsen: you have to enable it in the debug menu
12:50:32Arsen__builtin: is that not only for the USB port?
12:50:36Arsenor do you mean in configure
12:50:50__builtinin rockbox
12:51:05__builtinSystem > Debug Menu
12:51:19__builtinit'll have an option for USB serial
12:51:47Arsenyes, but besides USB serial there's also a in-memory ring buffer, which, in this case, also does not get populated
12:51:53Arsenand I did enable the USB serial one to
12:51:55Arsentoo*
12:52:53Arsenalso, it wasn't ccache, I disabled it
13:00
13:26:06_bilgusarsen run 'make reconf' it should mention logf enabled. Then run make clean and make again
13:27:00_bilgusits probably that there are changes needed but the file is already built and its getting missed or stuffed
13:28:05ArsenDEBUG build enabled; logf() support enabled; USB Serial support enabled; Logf to serial port enabled (logf also enabled)
13:28:42 Join amachronic [0] (~amachroni@user/amachronic)
13:28:45_bilgusso after make clean and make again if it still doesn't work then lets try enabling logf somewhere else
13:28:56_bilgusanother file
13:31:31_bilgusapps/action.c is a good candidate should have some messages for sure
13:31:52Arsensure, moment
13:33:53amachronicdconrad: want to give g#3589 a shot and let me know if there's any modification needed for the eros q?
13:33:55rb-bluebotGerrit review #3589 at https://gerrit.rockbox.org/r/c/rockbox/+/3589 : jztool: add support for Shanling Q1 and Eros Q by Aidan MacDonald
13:35:05Arsenalright, I got the serial device again
13:35:19Arsenwhats action.c actually?
13:36:01_bilgusthe stuff for buttons
13:36:25Arsenall of them? so scrolling should cause updates?
13:36:27_bilgusI left a logf in there that should post a message on every keypress
13:36:45_bilgusclickwheel still hits it IIRC
13:36:52Arsenyeah that's not working
13:37:00Arsenoh, I may know what it is
13:38:02_bilgusthen its something else I'd try starting from a clean build and only enable logf, IDR all the hoops I've had to go through to get serial to work but there were some
13:38:51_bilgusI may have resorted to defining the macros higher up
13:40:26ArsenI was really hoping it was unrelated changes in my local tree,but removing those also didn't change anything
13:42:31_bilgusno more than likely its something that needs fixed
13:42:48Arsenthis worked earlier today, though, which is why I'm super confused
13:42:59_bilgusoh?
13:43:02Arsenyeah
13:43:19Arsenimma just git pull real quick, and rebuild from a brand new build dir, no ccache, no nothing
13:43:24_bilgushmmm was this with code pulled from head?
13:43:28Arsenyes
13:43:40Arsenbut head did not change between earlier builds today and the one I just tested
13:43:40_bilgusyeah thats weird
13:44:16_bilguson your builds it should have a .map file can you pastebin that?
13:44:27Arsenalright, starting over, in advanced build, I should select DEBUG, Logf, USB Serial and Logf to Serial port, I think
13:44:37Arsenis it in the zip? if it isn't, it's gone :^)
13:44:50_bilgusno the latest will be fine
13:45:00_bilguswhen this build completes
13:45:06Arsensure
13:45:23_bilgusif it still fails do only the logf though just to narrow it down
13:46:10ArsenI forgot to add the enables again, it should be fine to do it after the fact, right?
13:46:30_bilgusadd the enables ? like in the files? yes
13:46:35Arsenyeah, alright
13:47:12_bilgusjust be sure that after you do that and make && make zip it shows new compilation of those units
13:47:19Arsensure
13:48:27ArsenI even get a format-related warning, so that should be a good sign
13:52:30 Quit Piece_Maker (Quit: ZNC 1.8.2 - https://znc.in)
13:52:41_bilgusI'm going to have to go here soon if it works with logf only and not serial logf then I'd try rebooting the PC might be hanging it or something weird
13:52:53ArsenI was considering not sharing this but I might as well entertain your evening: I was unzipping the wrong file for a very long time, and didn't notice
13:52:55ArsenI really should sleep
13:52:57 Join F3l1x_10m [0] (~Al3x_10m@user/f3l1x-10m/x-3393542)
13:53:02Arsenthanks and sorry lol
13:53:13_bilgusbeen there and done that
13:53:16_bilgus:)
13:53:32Arsennow for a different problem, it deadlocks during boot
13:53:39Arsenmay be related to there being too many logfs
13:54:49 Join Piece_Maker [0] (~Piece_Mak@cpc95746-bolt17-2-0-cust360.10-3.cable.virginm.net)
13:59:56amachronicArsen: if you've put a logf in interrupt context it may cause hangs like that
14:00
14:00:30ArsenI don't think I have, the interrupt should be pushink the keypresses into a variable that's read on a loop somewhere else
14:00:37Arsenactually, that "loop" may be a timer interrupt
14:01:09***Saving seen data "./dancer.seen"
14:09:48 Quit akaWolf (Ping timeout: 268 seconds)
14:14:17Arsenwhere's the usb plugged in screen written? I want to handle a key in that specific context
14:24:05 Join akaWolf [0] (~akaWolf@akawolf.org)
14:26:01Arsennow I get deadlocks when I plug in the USB, this is fun
14:29:52 Quit dconrad (Remote host closed the connection)
14:32:56 Join dconrad [0] (~dconrad@208.38.228.17)
14:37:30 Quit dconrad (Ping timeout: 255 seconds)
14:41:10Arsenspeachy: new ball twister in the story: this does not happen with an EHCI controller
14:48:00Arseneven bigger ball twister: this also does not happen on a different XHCI controller
15:00
15:10:14 Quit asaba (Ping timeout: 268 seconds)
15:17:49Arsenoh my god
15:18:08Arsenspeachy: this is a bug in a usb controller responsible for only the front two ports on my PC, almost definitely
15:18:27 Join dconrad [0] (~dconrad@208.38.228.17)
15:18:42Arsen3.15 works on back ports, and both controllers in my laptop
15:18:50Arsenproblem is, all my music is on my PC, not my laptop
15:23:11 Quit dconrad (Ping timeout: 268 seconds)
15:30:35 Quit akaWolf (Ping timeout: 268 seconds)
15:32:45 Join akaWolf [0] (~akaWolf@akawolf.org)
15:41:38braewoodsArsen: hardware bug?
15:42:15braewoodshuh. interesting.
15:42:34braewoodsseems inflate requires up to 32K of look back
15:42:46braewoodsso a simple buffer flush won't work
15:44:04braewoodsso i need a larger output buffer
15:50:07braewoodsok, think i found my answer.
15:50:35braewoodsi'll use a 64k ring buffer that loops around and only flushes when the other half is full
15:50:51braewoodsthat way i don't need to move a ton of data every time i need to flush
15:54:01 Quit Maxdamantus (Ping timeout: 268 seconds)
16:00
16:01:13***Saving seen data "./dancer.seen"
16:20:45 Quit amachronic (Quit: amachronic)
16:45:04 Quit lebellium (Quit: Leaving)
16:45:05 Join dconrad [0] (~dconrad@208.38.228.17)
17:00
17:42:40Arsenbraewoods: yeah, with a missing quirk in linux
18:00
18:01:15***Saving seen data "./dancer.seen"
18:47:15 Quit ZincAlloy (Quit: Leaving.)
18:58:35 Quit dconrad (Remote host closed the connection)
19:00
19:04:54 Join dconrad [0] (~dconrad@208.38.228.17)
19:09:18 Quit dconrad (Ping timeout: 255 seconds)
19:18:46 Join dconrad [0] (~dconrad@208.38.228.17)
19:23:15 Quit dconrad (Ping timeout: 255 seconds)
19:23:44Arsenis only a subset of jpegs supported?
19:24:20 Quit akaWolf (Ping timeout: 255 seconds)
19:31:09 Join akaWolf [0] (~akaWolf@akawolf.org)
20:00
20:01:17***Saving seen data "./dancer.seen"
20:34:41speachyArsen: no progressives
20:35:16speachyand it might not be the controller per se −− might be crappy cables or dirty ports.
21:00
21:19:05 Join dconrad [0] (~dconrad@208.38.228.17)
21:21:22braewoodsspeachy: it's weird but i finally found a use for integer overflow
21:21:42braewoodsnormally i'd been taught to avoid it like the plague but i found a place where it's actually helpful
21:22:21braewoodsi can use it cause an index to roll over to the appropriate index of a ring buffer
21:22:59braewoodsnot sure if this is an advantage but it is certainly an interesting idea
21:23:56 Quit dconrad (Ping timeout: 268 seconds)
21:42:40 Join Galois [0] (djao@efnet.math.uwaterloo.ca)
21:42:54 Quit Galois (Remote host closed the connection)
21:46:19 Join Galois [0] (djao@efnet.math.uwaterloo.ca)
22:00
22:01:23***Saving seen data "./dancer.seen"
22:48:15 Join dconrad [0] (~dconrad@208.38.228.17)
22:53:01 Quit dconrad (Client Quit)

Previous day | Next day