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:09 | spork | braewoods: 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:02 | spork | also those x1000 devices have a lot of cpu power, memory and very clean audio hardware that sounds great |
00:27:22 | braewoods | little endian too i presume |
00:29:48 | spork | yes, but does that matter ? |
00:40:43 | braewoods | yes it does, actually. we still have big endian targets. |
00:41:06 | braewoods | we have code that will only work on little endian. may become an issue at some point. |
00:41:24 | braewoods | but due to a lack of big endian targets where it matters, it's been moot to date. |
00:42:12 | braewoods | the 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:18 | braewoods | that i can tell |
00:42:41 | braewoods | if we ever end up with a big endian target that has a usb otg stack |
00:42:50 | braewoods | it will need to have some work done |
00:42:55 | braewoods | but for lack of any way to test it |
00:43:01 | braewoods | it's probably best left alone |
00:44:24 | braewoods | i only account for endianness differences when i write code that will be compiled into all ports |
00:44:56 | spork | ok, that does make sense |
00:45:43 | braewoods | i 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:00 | braewoods | plus around half of our little endian targets don't really support unaligned reads |
00:46:40 | braewoods | but some inflate implementations do use larger integer types for reading from the bit stream |
00:46:48 | braewoods | it just introduces some new problems though |
00:47:08 | spork | seems big endian is reduced to some server systems these days |
00:47:21 | braewoods | it's mainly an issue on coldfire |
00:47:49 | braewoods | coldfire does have a few ports with USB OTG |
00:48:00 | braewoods | but it's usually usb 1.1 only and they have two usb ports |
00:48:08 | braewoods | which is a pain to support in rockbox |
00:48:20 | braewoods | not only would we need to redo the usb stack to be big endian compatible... |
00:48:32 | braewoods | we would also have to somehow support a dual hardware/software usb setup |
00:49:16 | braewoods | a lot of work for little gain that i can tell |
00:49:23 | braewoods | plus we'd have to partially disable the software drivers |
00:49:46 | braewoods | usb mass storage would be redundant since it's handled by a hardware chip on coldfire |
00:50:40 | spork | the iriver 300 is on you use, right ? |
00:50:55 | braewoods | i sold mine actually but that was one yes |
00:51:38 | braewoods | there's a fair number of ways to address endianness |
00:52:14 | spork | it looks likely that anything new capable of even running rockbox will be arm/mips based |
00:52:31 | braewoods | indeed which can be either endianness |
00:52:33 | spork | but your collective commitment to keep older devices going is awesome |
00:52:47 | spork | so old devices are important too |
00:53:03 | braewoods | well writing code for all ports means i have to care |
00:53:15 | braewoods | i can't assume they'll all support unaligned access or even the same endianness |
00:53:36 | braewoods | i take this into account when writing code |
00:53:38 | spork | would the compiler not help you with that for a large part ? |
00:53:53 | spork | or is this too low-level |
00:53:56 | braewoods | endianness? No, not really. you still need to address it manually |
00:54:22 | braewoods | for example, i need to use the rbendian.h macros to handle file data that is in little endian byte order always |
00:54:48 | braewoods | whenever 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:56 | braewoods | this means files, networks, etc |
00:55:21 | braewoods | anytime you read more than a byte, the endianness comes into play |
00:55:32 | braewoods | this is irrelevant for data that came from the same system |
00:55:37 | spork | i get that |
00:55:48 | spork | crucial for interfaces |
00:55:52 | spork | like usb |
00:56:00 | braewoods | so, one common trick is to just read the data one byte at a time and reconstruct it into what you need |
00:56:08 | braewoods | this is slower but it is portable |
00:56:28 | braewoods | packed structs also an option |
00:56:40 | braewoods | but you still need to use something to deal with endianness |
00:56:51 | spork | gotcha |
00:57:13 | braewoods | this method also deals with unaligned access |
00:57:40 | braewoods | in 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:52 | braewoods | it'll probably end up being fast enough |
00:57:55 | braewoods | on the newer ports anyway |
00:57:56 | spork | either way, besides the previously mentioned qualities of the x1000 devices, they are generally quite available too |
00:58:21 | braewoods | since disk IO isn't that great on sd cards afaik |
00:58:27 | braewoods | so |
00:58:41 | braewoods | not much point in heavily optimizing the decompression if we can't really leverage it fully |
01:00 |
01:00:12 | braewoods | if i'm being honest though the only older units worth repairing are the HDD ones or flash ones with SD card support. |
01:00:22 | braewoods | the ones with fixed flash storage are really not viable anymore |
01:00:53 | braewoods | e.g., the SA9200 |
01:01:24 | spork | i have not had any flash failures, but all my devices are too recent reslly |
01:01:26 | spork | really |
01:01:38 | spork | batteries are going though |
01:01:41 | braewoods | well it's more the lack of upgradeability |
01:01:50 | braewoods | but yea |
01:02:51 | braewoods | i don't expect the old ones to be super popular anymore but we still have a few users of them |
01:03:06 | braewoods | one of my first rockbox projects was fixing the coldfire bootloader for the iriver stuff |
01:03:23 | braewoods | the existing ones had bugs with modern storage |
01:04:48 | braewoods | huh a few arm ports are big endian |
01:05:01 | braewoods | samsung yps3 |
01:05:22 | braewoods | and some meizu ones |
01:05:58 | braewoods | speachy: should we remove code for old ports that never got off the ground? |
01:06:10 | spork | nothing meizu ever got anywhere |
01:06:16 | braewoods | yea... |
01:06:40 | braewoods | i'm not inclined to add new old ports, but i don't mind polishing up the ones we have |
01:07:16 | spork | i think i have a meizu m6sl |
01:09:22 | spork | for a lot of old player hardware, rockbox is the first and sometimes only thing that comes up in google |
01:11:41 | braewoods | yea a lot didn't survive to even have a regular presnece on ebay |
01:11:49 | braewoods | gigabeats and irivers being one of the exceptions |
01:12:25 | braewoods | i got lucky and found an mpio hd300 recently |
01:14:57 | spork | was that in working condition ? |
01:15:54 | braewoods | supposedly, i haven't yet received it. |
01:16:04 | braewoods | i had to import it |
01:16:22 | braewoods | it's another coldfire target. |
01:16:32 | braewoods | cowon, mpio, iriver |
01:16:45 | braewoods | coldfire was a decent cpu for its time |
01:16:48 | braewoods | 150 mhz or so |
01:16:54 | braewoods | compared to PPs 66mhzish |
01:17:33 | rb-bluebot | Build Server message: New build round started. Revision 64a24591ae, 301 builds, 8 clients. |
01:17:50 | braewoods | _bilgus: thanks |
01:17:58 | _bilgus | there ya go I'll be back at some point to check progress |
01:18:17 | spork | many players on ebay seem either insanely priced or non-functioning |
01:18:17 | braewoods | in the future i plan to add some macros to enable it based on port info |
01:18:39 | braewoods | spork: indeed. the existing gigabeat S ones are all overpriced. i bought all mine at lower prices. |
01:18:52 | braewoods | latest one was about $70 |
01:19:09 | braewoods | only problem is its battery is dead |
01:19:12 | braewoods | i plan to replace it |
01:19:18 | spork | that is still quitr some money |
01:19:23 | braewoods | indeed |
01:19:28 | braewoods | but i enjoy these for their unique features |
01:19:52 | braewoods | they also have TV out chips; i thought that would make a fun side project |
01:19:57 | braewoods | adding support for tv out to rockbox |
01:20:13 | braewoods | maybe a bit pointless but what do i care |
01:20:24 | braewoods | :D |
01:20:30 | spork | entertaining yourself is not pointless |
01:20:36 | spork | but it seems somewhat niche |
01:20:41 | braewoods | yea |
01:20:48 | braewoods | i'm focused on some more useful stuff first |
01:20:56 | braewoods | there's only a handful of old units with any composite output |
01:21:05 | braewoods | the gigabeat S, hdd6330, some ipods |
01:21:23 | braewoods | but i thought i'd start with the gigabeat S |
01:21:29 | braewoods | i can test it with my video capture device |
01:21:53 | spork | create a video endless loop |
01:22:08 | braewoods | the idea i had was to mirror the rockbox UI over it |
01:22:20 | braewoods | i can't see any other use for it |
01:23:34 | braewoods | heh. i just noticed something |
01:23:42 | spork | i tried looking for some spare sansa clip+'s on ebay, but not at those prices |
01:23:46 | braewoods | ~x & 0xff == x ^ 0xff |
01:31:38 | rb-bluebot | Build Server message: Build round completed after 846 seconds. |
01:31:41 | rb-bluebot | Build 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:46 | Arsen | is 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:01 | Arsen | (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:35 | amachronic | Arsen: you need to #define LOGF_ENABLE at the top of the file before any other includes |
05:30:57 | Arsen | amachronic: does autoconf.h count? |
05:31:04 | Arsen | or should I enable it per-file |
05:31:17 | amachronic | it's supposed to be per-file because the logf buffer is quite small |
05:31:24 | amachronic | easy to overflow |
05:31:31 | Arsen | makes sense, got it, ty |
06:00 |
06:01:00 | *** | Saving seen data "./dancer.seen" |
06:02:00 | Arsen | amachronic: yeah, awesome, that worked perfectly, ty |
06:04:51 | Arsen | yep, the logs agree with my observations last night, scsi write10, and it hangs |
06:14:44 | Arsen | how 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:12 | amachronic | it's in the target's config file −− for ipod6g it's the usb-designware driver |
06:16:22 | Arsen | ah, must've missed that line |
06:16:24 | Arsen | ty |
06:21:52 | amachronic | btw, x1000 ports (fiio m3k / shanling q1) use the designware driver and have trouble when DMA is enabled |
06:22:07 | Arsen | what kind of trouble? |
06:23:25 | amachronic | iirc the mass storage interface doesn't always respond to the initial enumeration / setup traffic |
06:23:44 | amachronic | it's not easily reproducible though, and I haven't looked into it |
06:23:49 | Arsen | sounds unrelated to what I'm seeing here, here it does respond to the enumeration and setup, but stops responding to write10s |
06:24:08 | Arsen | even 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:25 | amachronic | still DMA could be the common factor |
06:24:29 | Arsen | I have a pcap traced dump of that usb traffic |
06:24:33 | Arsen | can it be disabled to test? |
06:24:45 | amachronic | yes, mine works fine if DMA is disabled |
06:25:17 | amachronic | add #define USB_DW_ARCH_SLAVE to the target config file |
06:25:27 | Arsen | build/config.h should work right |
06:25:34 | Arsen | or do you mean firmware/export/config/ipod6g.h |
06:25:38 | amachronic | yes |
06:25:40 | amachronic | the latter |
06:25:42 | Arsen | got it |
06:39:54 | Arsen | USB_DIR_IN says "to host", this would mean the master/PC in this case, while device is the slave/ipod, right? |
06:41:42 | amachronic | I think so |
06:42:29 | amachronic | with USB I believe in/out is always from the perspective of the host |
06:44:29 | Arsen | oh, 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:56 | Arsen | oh 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:33 | Arsen | the DMA thing might have only helped very slightly, I still get resets after some time |
07:48:52 | Arsen | "URB status: Connection reset by peer (-ECONNRESET) (-104)", from 1.123.2 (endpoint on ipod) to host |
07:48:53 | Arsen | hmm |
08:00 |
08:01:01 | *** | Saving seen data "./dancer.seen" |
08:01:04 | | Join amachronic [0] (~amachroni@user/amachronic) |
08:03:05 | Arsen | the ipod6g has a distinct ata driver, huh |
08:03:23 | Arsen | why does it reference mmc? |
08:03:32 | amachronic | likely CE-ATA |
08:04:29 | Arsen | that shows up here a lot of times too, yeah |
08:05:58 | Arsen | this uses usual ATA commands, afaict |
08:10:24 | | Join johnb2 [0] (~johnb2@HSI-KBW-109-192-046-112.hsi6.kabel-badenwuerttemberg.de) |
08:10:41 | dconrad | amachronic: are there any last minute things you want me to take care of on g#3506? |
08:10:43 | rb-bluebot | Gerrit review #3506 at https://gerrit.rockbox.org/r/c/rockbox/+/3506 : New Port: Eros Q Native by Dana Conrad |
08:11:03 | amachronic | don't think so, let me check |
08:11:26 | amachronic | I would've merged it yesterday but the rockbox site was down for a while |
08:11:40 | dconrad | yeah, it seemed to be out all day |
08:14:37 | rb-bluebot | Build Server message: New build round started. Revision 3e7a09cb0d, 301 builds, 9 clients. |
08:15:11 | dconrad | changing the dma_wr_cmd didn't seem to affect that rare hang bug though, I thought for sure that was it |
08:16:14 | amachronic | that gets sent for every working frame too, so it's not really surprising |
08:17:36 | dconrad | I thought maybe the lcd needed some time to wake up and stabilize or something, so sending it 4 times might fix it |
08:18:27 | dconrad | though 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:33 | dconrad | so... not sure where it is |
08:18:56 | dconrad | its rare though |
08:21:49 | Arsen | oh 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:54 | Arsen | what's this ramdisk thing? |
08:24:09 | Arsen | maybe I could further isolate issues with it |
08:24:10 | speachy | Arsen: what's your USB host controller? |
08:24:16 | speachy | USB3, USB2? |
08:25:18 | | Quit johnb2 (Quit: Nettalk6 - www.ntalk.de) |
08:25:27 | Arsen | dmesg says xhci_hcd, so usb3 |
08:26:05 | speachy | hmm, ok. I dont' recall seeing any issues of significance with the ipod6g usb controller. |
08:26:21 | speachy | Arsen: did you try reverting to the 3.15 stable release? |
08:26:39 | Arsen | I can do that now that the website is up |
08:27:26 | Arsen | I'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:19 | speachy | and you can't boot into the OF due to sector size shananigans |
08:29:10 | speachy | and 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:43 | Arsen | the original HD? I don't believe so, rockbox certainly didn't, I didn't use OF for very long, though |
08:30:20 | Arsen | well, this drive is also far larger than OF can handle on this model (250G) |
08:30:55 | amachronic | speachy: https://gerrit.rockbox.org/r/c/www/+/3585 −− OK or did I forget something? |
08:34:01 | Arsen | btw 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:01 | amachronic | eh, sim build needs fixing first. |
08:34:30 | Arsen | speachy: can reproduce with http://download.rockbox.org/release/3.15/rockbox-ipod6g-3.15.zip too |
08:34:46 | rb-bluebot | Build Server message: Build round completed after 1209 seconds. |
08:34:46 | speachy | I'm not so sure there's a point in having the native sim vs non-native sim. |
08:34:50 | rb-bluebot | Build Server message: Revision 3e7a09cb0d result: All green |
08:35:08 | speachy | ditto on checkwps |
08:35:21 | speachy | otherwise though, it's sane. |
08:35:24 | amachronic | okay, I'll drop those |
08:36:54 | Arsen | I'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:59 | speachy | it's not in builds.pm yet either, which is effectively the same as being in there but marked as "unusable" |
08:37:12 | Arsen | s/reading/reading from the storage/ |
08:37:27 | speachy | Arsen: so it's not a regression. but if it was _that_ bad I'd expect to see hordes of angry forum users. |
08:38:02 | Arsen | well, 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:21 | Arsen | however I doubt that, since it's write(10)s |
08:38:37 | speachy | perhaps some sort of strange timing/data race/interrupt delivery issue? |
08:38:43 | Arsen | yeah, not sure why it's this rare |
08:38:58 | speachy | but even still, there are ipod6g+iflash users happily rockboxing along |
08:39:33 | speachy | gut 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:01 | Arsen | I 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:05 | amachronic | is the dwc databook available anywhere? synopsys seems to keep it locked down |
08:40:18 | speachy | serial is _very_ low bandwidth compared to UMS. |
08:40:48 | Arsen | yeah, true, I don't mind slowing the latter down for testing purposes, though |
08:40:55 | speachy | I'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:30 | speachy | (I first scounged it up trying to figure out an issue with the RPi USB controller) |
08:41:58 | amachronic | the x1000's datasheet has some details like registers |
08:42:11 | speachy | Arsen: I don't know if there's a feasible way to kneecap the USB negotiation to 1.1 speeds |
08:42:27 | speachy | (well, beyond using an old USB1 hub) |
08:42:28 | amachronic | but 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:39 | Arsen | I don't think I have any of those laying around |
08:43:05 | speachy | I'm sure rockbox could be told (via hacking the dwc driver) to stick to USB1 |
08:43:08 | Arsen | amachronic: could the linux driver be of any use? |
08:43:34 | amachronic | possibly but it's then a matter of 'reverse engineering' |
08:43:42 | Arsen | hm, true |
08:43:58 | Arsen | speachy: 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:14 | Arsen | I could nave it not do anything until I, for instance, hit SELECT, causing it to dump various possibly interesting variables |
08:44:34 | speachy | yeah, 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:10 | speachy | Arsen: 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:17 | Arsen | actually, before that, what does USB_USE_RAMDISK do? |
08:46:34 | Arsen | maybe 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:29 | speachy | amachronic: there was a copy in one of the old Ingenic Halley data dumps. |
08:51:38 | speachy | don't seem to have a copy any more, damnit. |
08:51:56 | amachronic | I've got two but I'll have to dig them out and check |
08:52:10 | amachronic | ingenic seems to have removed them from their ftp server now |
08:53:38 | speachy | I have two separate ingenic mirror snapshots bit it's not in either. |
08:53:46 | rb-bluebot | Build Server message: New build round started. Revision 07a3f6bcdb, 303 builds, 9 clients. |
08:53:49 | speachy | but I can't find my doc stash from that RPi debugging session either. |
08:54:16 | amachronic | dconrad: eros q native is now building |
08:54:29 | speachy | I'd have just symlinked the bitmap FWIW. :) |
08:54:38 | dconrad | sweet! hopefully all goes smooth |
08:55:12 | spork | eros q looks like a nice device |
08:55:14 | amachronic | I can change it to a symlink, I just wasnt sure if git tracked them |
08:55:41 | dconrad | it's pretty nice I think, it's a chonker though |
08:56:04 | dconrad | bummer about no hardware volume control though |
08:56:05 | speachy | I really like the eros q/k series too. |
08:56:28 | speachy | and a native port is a _huge_ step forward |
08:56:56 | dconrad | nice quick boot now :) |
08:57:12 | speachy | exactly. it becomes a _lot_ more usable for visually impaired users. |
08:57:41 | speachy | and we're also not hamstringed by only having 6-7MB of usbable RAM for rockbox's use |
08:58:01 | dconrad | is that really all the hosted port has available? |
08:58:11 | dconrad | linux must be hungry |
08:58:21 | speachy | yeah, 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:01 | speachy | granted Linux handles things like caching etc too |
08:59:28 | spork | now i have to google 'chonker', hopefully it will leave no scars |
08:59:33 | speachy | the HibyOS platform is actually pretty well put together; if we reworked how our hosted players work it would integrate better |
08:59:49 | speachy | spork: if you want to be safe, include "cat" in the search |
08:59:59 | Arsen | lol yeah |
09:00 |
09:00:25 | Arsen | where are keypresses handled? so that I can add code to dump variables |
09:00:27 | dconrad | curse my internet-isms |
09:00:39 | Arsen | I'm most interested about the state enum in usb_storage.c |
09:00:46 | speachy | best to put them in button-target.c |
09:01:07 | speachy | under firmware/target/arm/s????/ipod6g/ |
09:01:13 | Arsen | alright |
09:02:04 | speachy | amachronic: and yes, git tracks symlinks. git might also be smart enough to dedup the (presumably identical) file. |
09:02:27 | Arsen | it is, if two files have identical contents, they have the same blob hash, and hence get consolidated |
09:02:47 | Arsen | this is why 1k commits just adding files won't grow exponentially |
09:03:35 | speachy | I have to head out for a day trip playdate thing with the kiddo. hopefully things will stay online for the count. |
09:03:51 | Arsen | enjoy! |
09:05:18 | speachy | amachronic: 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:43 | amachronic | yes, I figured as much |
09:05:44 | speachy | (if it had a manual entry the hosted port it would be considered "stable") |
09:05:51 | spork | i like the physical buttons of the eros q. big battery too. shame about the microusb |
09:05:59 | speachy | anyhow. |
09:06:00 | * | speachy idles. |
09:07:08 | Arsen | uh, button-target.c isn't a think anywhere in the build system afaict |
09:07:38 | amachronic | try button-ipod6g.c |
09:08:26 | Arsen | no, none of that either, there's a ./firmware/target/arm/ipod/button-clickwheel.c though |
09:08:45 | Arsen | "build/firmware/target/arm/ipod/button-clickwheel.o" looks like that's the one that gets built |
09:08:53 | rb-bluebot | Build Server message: Build round completed after 907 seconds. |
09:08:55 | rb-bluebot | Build Server message: Revision 07a3f6bcdb result: 1 errors 0 warnings |
09:09:55 | dconrad | ?? |
09:10:44 | dconrad | no rockbox.zip was produced? |
09:11:37 | | Quit amachronic (Read error: Connection reset by peer) |
09:12:55 | dconrad | ah, should be make zip apparently |
09:13:06 | Arsen | yes, or fullzip to add fonts and stuff |
09:13:19 | | Join amachronic [0] (~amachroni@user/amachronic) |
09:16:35 | dconrad | you know, I always wondered why the fonts wouldn't just be included by default |
09:16:49 | Arsen | probably size, idk |
09:19:01 | rb-bluebot | Build Server message: New build round started. Revision 09fc9ee9a3, 303 builds, 9 clients. |
09:21:11 | dconrad | phew, that error scared me for a second there haha |
09:22:34 | Arsen | I 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:33 | rb-bluebot | Build Server message: Build round completed after 812 seconds. |
09:32:35 | rb-bluebot | Build Server message: Revision 09fc9ee9a3 result: All green |
09:32:39 | dconrad | woohoo |
09:35:14 | spork | great job, dconrad |
09:35:49 | dconrad | thanks! I'm super proud |
09:37:24 | spork | it was also fun to read your journey. seems like you learned a lot |
09:37:53 | dconrad | yeah definitely - this is probably the most intensive software thing I've ever done |
09:38:23 | dconrad | and the x1000 code was already there! |
09:38:36 | spork | you had a great 'mentor' |
09:38:46 | dconrad | absolutely |
09:42:24 | Arsen | what 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:30 | dconrad | Arsen: you might try bitmasking button_read's output is equal to BUTTON_SELECT |
10:00 |
10:00:19 | dconrad | something like (button_read() & BUTTON_SELECT) == BUTTON_SELECT? |
10:01:05 | *** | Saving seen data "./dancer.seen" |
10:04:17 | Arsen | I'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:45 | Arsen | oh, the logf isn't printing anything, either to memory or to serial |
10:09:19 | Arsen | I have #define LOGF_ENABLE before #include "logf.h", though |
10:12:33 | Arsen | I'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:17 | Arsen | I am quite confused about logf not working here |
11:49:07 | Arsen | I have these: ``#define USB_ENABLE_SERIAL`` ``#define ROCKBOX_HAS_LOGF 1`` ``#define LOGF_SERIAL 1`` |
11:50:07 | Arsen | also ``#define LOGF_ENABLE`` in firmware/usbstack/usb_storage.c |
11:50:31 | Arsen | I don't even see logf("usb_storage_init done"); |
11:57:12 | Arsen | oh, could it be ccache |
12:00 |
12:01:07 | *** | Saving seen data "./dancer.seen" |
12:50:08 | __builtin | Arsen: you have to enable it in the debug menu |
12:50:32 | Arsen | __builtin: is that not only for the USB port? |
12:50:36 | Arsen | or do you mean in configure |
12:50:50 | __builtin | in rockbox |
12:51:05 | __builtin | System > Debug Menu |
12:51:19 | __builtin | it'll have an option for USB serial |
12:51:47 | Arsen | yes, but besides USB serial there's also a in-memory ring buffer, which, in this case, also does not get populated |
12:51:53 | Arsen | and I did enable the USB serial one to |
12:51:55 | Arsen | too* |
12:52:53 | Arsen | also, it wasn't ccache, I disabled it |
13:00 |
13:26:06 | _bilgus | arsen run 'make reconf' it should mention logf enabled. Then run make clean and make again |
13:27:00 | _bilgus | its probably that there are changes needed but the file is already built and its getting missed or stuffed |
13:28:05 | Arsen | DEBUG 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 | _bilgus | so after make clean and make again if it still doesn't work then lets try enabling logf somewhere else |
13:28:56 | _bilgus | another file |
13:31:31 | _bilgus | apps/action.c is a good candidate should have some messages for sure |
13:31:52 | Arsen | sure, moment |
13:33:53 | amachronic | dconrad: want to give g#3589 a shot and let me know if there's any modification needed for the eros q? |
13:33:55 | rb-bluebot | Gerrit 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:05 | Arsen | alright, I got the serial device again |
13:35:19 | Arsen | whats action.c actually? |
13:36:01 | _bilgus | the stuff for buttons |
13:36:25 | Arsen | all of them? so scrolling should cause updates? |
13:36:27 | _bilgus | I left a logf in there that should post a message on every keypress |
13:36:45 | _bilgus | clickwheel still hits it IIRC |
13:36:52 | Arsen | yeah that's not working |
13:37:00 | Arsen | oh, I may know what it is |
13:38:02 | _bilgus | then 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 | _bilgus | I may have resorted to defining the macros higher up |
13:40:26 | Arsen | I was really hoping it was unrelated changes in my local tree,but removing those also didn't change anything |
13:42:31 | _bilgus | no more than likely its something that needs fixed |
13:42:48 | Arsen | this worked earlier today, though, which is why I'm super confused |
13:42:59 | _bilgus | oh? |
13:43:02 | Arsen | yeah |
13:43:19 | Arsen | imma just git pull real quick, and rebuild from a brand new build dir, no ccache, no nothing |
13:43:24 | _bilgus | hmmm was this with code pulled from head? |
13:43:28 | Arsen | yes |
13:43:40 | Arsen | but head did not change between earlier builds today and the one I just tested |
13:43:40 | _bilgus | yeah thats weird |
13:44:16 | _bilgus | on your builds it should have a .map file can you pastebin that? |
13:44:27 | Arsen | alright, starting over, in advanced build, I should select DEBUG, Logf, USB Serial and Logf to Serial port, I think |
13:44:37 | Arsen | is it in the zip? if it isn't, it's gone :^) |
13:44:50 | _bilgus | no the latest will be fine |
13:45:00 | _bilgus | when this build completes |
13:45:06 | Arsen | sure |
13:45:23 | _bilgus | if it still fails do only the logf though just to narrow it down |
13:46:10 | Arsen | I forgot to add the enables again, it should be fine to do it after the fact, right? |
13:46:30 | _bilgus | add the enables ? like in the files? yes |
13:46:35 | Arsen | yeah, alright |
13:47:12 | _bilgus | just be sure that after you do that and make && make zip it shows new compilation of those units |
13:47:19 | Arsen | sure |
13:48:27 | Arsen | I 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 | _bilgus | I'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:53 | Arsen | I 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:55 | Arsen | I really should sleep |
13:52:57 | | Join F3l1x_10m [0] (~Al3x_10m@user/f3l1x-10m/x-3393542) |
13:53:02 | Arsen | thanks and sorry lol |
13:53:13 | _bilgus | been there and done that |
13:53:16 | _bilgus | :) |
13:53:32 | Arsen | now for a different problem, it deadlocks during boot |
13:53:39 | Arsen | may 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:56 | amachronic | Arsen: if you've put a logf in interrupt context it may cause hangs like that |
14:00 |
14:00:30 | Arsen | I 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:37 | Arsen | actually, 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:17 | Arsen | where'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:01 | Arsen | now 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:10 | Arsen | speachy: new ball twister in the story: this does not happen with an EHCI controller |
14:48:00 | Arsen | even 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:49 | Arsen | oh my god |
15:18:08 | Arsen | speachy: 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:42 | Arsen | 3.15 works on back ports, and both controllers in my laptop |
15:18:50 | Arsen | problem 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:38 | braewoods | Arsen: hardware bug? |
15:42:15 | braewoods | huh. interesting. |
15:42:34 | braewoods | seems inflate requires up to 32K of look back |
15:42:46 | braewoods | so a simple buffer flush won't work |
15:44:04 | braewoods | so i need a larger output buffer |
15:50:07 | braewoods | ok, think i found my answer. |
15:50:35 | braewoods | i'll use a 64k ring buffer that loops around and only flushes when the other half is full |
15:50:51 | braewoods | that 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:40 | Arsen | braewoods: 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:44 | Arsen | is 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:41 | speachy | Arsen: no progressives |
20:35:16 | speachy | and 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:22 | braewoods | speachy: it's weird but i finally found a use for integer overflow |
21:21:42 | braewoods | normally i'd been taught to avoid it like the plague but i found a place where it's actually helpful |
21:22:21 | braewoods | i can use it cause an index to roll over to the appropriate index of a ring buffer |
21:22:59 | braewoods | not 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) |