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

#rockbox log for 2021-04-09

00:03:04speachydconrad: check out g#3312
00:03:06fs-bluebotGerrit review #3312 at https://gerrit.rockbox.org/r/c/rockbox/+/3312 : erosq: Switch to 32-bit PCM output, and do volume scaling in driver by Solomon Peachy
00:04:19dconradholy cow that was a fast change
00:04:55speachyI'm thinking it probably makes the most sense to just use the master volume to control both line and hp output due to the overdrive issue
00:05:56 Quit kakaka (Remote host closed the connection)
00:05:57speachysince we probably need to cap headphone output too because it's surely overdriving the HP amp in this thing
00:06:30 Join kakaka [0] (~koniu@gateway/tor-sasl/koniu)
00:06:45***Saving seen data "./dancer.seen"
00:07:22dconradso I should be able to pull and build this?
00:07:35speachyit's not committed yet so you'd need to cherry-pick it out of gerrit
00:07:58dconradsure
00:08:12speachyI should measure the x3 and x3ii's line out to see what they're like
00:09:53speachynot tonight though
00:15:37speachylet me know how it works for you
00:15:40speachyand now, bed.
00:15:49dconradhaha, thanks for the quick turnaround
00:16:05dconrad...still building...
00:20:55dconradI'll have to play with it more tomorrow but holy cow, I think it might be completely fixed?
00:23:36dconradthe numerical scaling is different/off, but the same track at very quiet volumes doesn't have any glitching at all?
00:23:50dconrad(dB number displayed)
00:28:12 Quit chris_s (Quit: Ping timeout (120 seconds))
00:39:42 Quit dconrad ()
01:00
01:44:35 Quit Rower (Read error: Connection reset by peer)
02:00
02:06:46***Saving seen data "./dancer.seen"
02:30:20 Join Rower [0] (~Rower@78-73-72-39-no2340.tbcn.telia.com)
03:00
03:40:00 Join ZincAlloy [0] (~Adium@2a02:8108:943f:d824:793b:87ec:38af:f44a)
04:00
04:02:17 Quit ChanServ (*.net *.split)
04:02:18 Quit tomato (*.net *.split)
04:02:18 Quit atsampson (*.net *.split)
04:02:18 Quit Acou_Bass (*.net *.split)
04:02:18 Quit hook54321 (*.net *.split)
04:02:18 Quit JanC (*.net *.split)
04:02:18 Quit emacsomancer (*.net *.split)
04:02:18 Quit speachy (*.net *.split)
04:02:18 Quit ZincAlloy (*.net *.split)
04:02:19 Quit St3ak (*.net *.split)
04:02:19 Quit plum (*.net *.split)
04:02:19 Quit bluebrother (*.net *.split)
04:02:19 Quit Rower (*.net *.split)
04:02:19 Quit CR0W (*.net *.split)
04:02:19 Quit amiconn (*.net *.split)
04:02:19 Quit bzed (*.net *.split)
04:02:20 Quit RafiX (*.net *.split)
04:02:21 Quit ccf-100 (*.net *.split)
04:02:21 Quit kakaka (*.net *.split)
04:02:22 Quit mud (*.net *.split)
04:02:22 Quit toruvinn (*.net *.split)
04:02:22 Quit rasher (*.net *.split)
04:02:23 Quit vup (*.net *.split)
04:02:23 Quit edhelas (*.net *.split)
04:02:24 Quit blbro[m] (*.net *.split)
04:02:24 Quit michaelni (*.net *.split)
04:02:24 Quit shrizza (*.net *.split)
04:02:24 Quit asaba (*.net *.split)
04:02:25 Quit fs-bluebot (*.net *.split)
04:02:25 Quit ps-auxw (*.net *.split)
04:02:25 Quit bertrik (*.net *.split)
04:02:25 Quit xcin (*.net *.split)
04:02:25 Quit WakiMiko (*.net *.split)
04:02:25 Quit Slasheri (*.net *.split)
04:02:26 Quit danielp3344 (*.net *.split)
04:02:26 Quit ecs (*.net *.split)
04:02:26 Quit TorC (*.net *.split)
04:02:26 Quit funman (*.net *.split)
04:02:26 Quit advcomp2019 (*.net *.split)
04:02:27 Quit rogeliodh (*.net *.split)
04:02:27 Quit Huntereb (*.net *.split)
04:02:27 Quit tchan (*.net *.split)
04:02:27 Quit spectrumanalyst (*.net *.split)
04:02:27 Quit gsora (*.net *.split)
04:02:27 Quit ParkerR (*.net *.split)
04:02:27 Quit benedikt93 (*.net *.split)
04:02:27 Quit bleb (*.net *.split)
04:02:27 Quit prg3 (*.net *.split)
04:02:27 Quit paulk-leonov (*.net *.split)
04:02:27 Quit Tsesarevich (*.net *.split)
04:02:28 Quit XDjackieXD (*.net *.split)
04:02:28 Quit rudi_s (*.net *.split)
04:02:28 Quit jschwart (*.net *.split)
04:02:28 Quit skrzyp (*.net *.split)
04:02:28 Quit galaxy_knuckles (*.net *.split)
04:02:28 Quit SovietShaman_ (*.net *.split)
04:02:28 Quit ender| (*.net *.split)
04:02:28 Quit igitoor (*.net *.split)
04:02:29 Quit berber (*.net *.split)
04:02:29 Quit Ckat (*.net *.split)
04:02:29 Quit daswf852 (*.net *.split)
04:02:29 Quit bonfire (*.net *.split)
04:02:29 Quit jdarnley (*.net *.split)
04:02:29 Quit yosafbridge (*.net *.split)
04:02:29 Quit beencubed (*.net *.split)
04:02:29 Quit _bilgus (*.net *.split)
04:02:29 Quit olspookishmagus (*.net *.split)
04:02:29 Quit user890104 (*.net *.split)
04:02:29 Quit braewoods (*.net *.split)
04:02:30 Quit ArsenArsen (*.net *.split)
04:02:30 Quit GeekShadow (*.net *.split)
04:02:30 Quit Galois (*.net *.split)
04:02:30 Quit __builtin (*.net *.split)
04:02:30 Quit mikroflops (*.net *.split)
04:02:30 Quit blucifer22 (*.net *.split)
04:02:31 Quit pixelma (*.net *.split)
04:02:31 Quit Soap_ (*.net *.split)
04:02:31 Quit SammysHP (*.net *.split)
04:02:31 Quit Natch (*.net *.split)
04:02:31 Quit copper (*.net *.split)
04:02:31 Quit Xeha (*.net *.split)
04:02:31 Quit aevin (*.net *.split)
04:02:31 Quit kugel (*.net *.split)
04:02:31 Quit kadoban (*.net *.split)
04:02:31 Quit APLU (*.net *.split)
04:02:31 Quit klock (*.net *.split)
04:02:32 Quit lemon_jesus (*.net *.split)
04:02:32 Quit trfl (*.net *.split)
04:02:32 Quit f1refly (*.net *.split)
04:02:32 Quit Barlow (*.net *.split)
04:02:32 Quit Moarc (*.net *.split)
04:02:32 Quit Strife89 (*.net *.split)
04:02:32 Quit Topy44 (*.net *.split)
04:02:32 Quit Romster (*.net *.split)
04:02:32 Quit gevaerts (*.net *.split)
04:02:32 Quit kirvesAxe (*.net *.split)
04:02:33 Quit ufdm (*.net *.split)
04:02:33 Quit fauweh (*.net *.split)
04:02:33 Quit jerwin (*.net *.split)
04:02:33 Quit alexbobp (*.net *.split)
04:02:33 Quit KalBot (*.net *.split)
04:06:49***Saving seen data "./dancer.seen"
04:06:57 Join trfl [0] (~ed@static.59.110.40.188.clients.your-server.de)
04:06:57 Join lemon_jesus [0] (~lemon_jes@208.59.79.137)
04:06:57 Join klock [0] (~freeklock@unaffiliated/klock)
04:06:57 Join APLU [0] (~mulx@2a03:7220:8081:2900::1)
04:06:57 Join speachy [0] (~speachy@209.2.65.77)
04:06:57 Join emacsomancer [0] (~runner@c-174-52-88-123.hsd1.ut.comcast.net)
04:06:57 Join hook54321 [0] (sid149355@gateway/web/irccloud.com/x-yowuzbrikpmmzknf)
04:06:57 Join Acou_Bass [0] (~Acou_Bass@cpc96070-bolt17-2-0-cust175.10-3.cable.virginm.net)
04:06:57 Join atsampson [0] (~ats@cartman.offog.org)
04:06:57 Join tomato [0] (t0mato@gateway/vpn/mullvad/tomato)
04:06:57 Join blucifer22 [0] (~quassel@204.48.30.120)
04:06:57 Join mikroflops [0] (~yogurt@c188-150-217-176.bredband.comhem.se)
04:06:57 Join __builtin [0] (~quassel@rockbox/developer/builtin)
04:06:57 Join Galois [0] (djao@efnet.math.uwaterloo.ca)
04:06:57 Join ChanServ [0] (ChanServ@services.)
04:06:57 Join Rower [0] (~Rower@78-73-72-39-no2340.tbcn.telia.com)
04:06:57 Join CR0W [0] (~narf@unaffiliated/em64t)
04:06:57 Join amiconn [0] (jens@rockbox/developer/amiconn)
04:06:57 Join bzed [0] (~bzed@shell.bzed.at)
04:06:57 Join vup [0] (~~~~@46.101.193.235)
04:06:57 Join ZincAlloy [0] (~Adium@2a02:8108:943f:d824:793b:87ec:38af:f44a)
04:06:57 Join St3ak [0] (~st3ak@st3ak3000.powered.by.lunarbnc.net)
04:06:57 Join plum [0] (~plum@unaffiliated/plum)
04:06:57 Join bluebrother [0] (~dom@rockbox/developer/bluebrother)
04:06:57 Join asaba [0] (~asaba@103.113.159.184)
04:06:57 Join fs-bluebot [0] (~fs-bluebo@55d48c6a.access.ecotel.net)
04:06:57 Join ps-auxw [0] (~arneb@p548d5577.dip0.t-ipconnect.de)
04:06:57 Join bertrik [0] (~bertrik@rockbox/developer/bertrik)
04:06:57 Join xcin [0] (~x@159.203.132.140)
04:06:57 Join ufdm [0] (~ufdm@c-73-164-63-214.hsd1.mn.comcast.net)
04:06:57 Join fauweh [0] (~root@ithaqua.unzane.com)
04:06:57 Join KalBot [0] (~matrixirc@connolly.tech)
04:06:57 Join jerwin [0] (~flippy-fl@unaffiliated/flippy)
04:06:57 Join alexbobp [0] (~alex@meowface.org)
04:06:57 Join edhelas [0] (9d94237298@2a03:4000:51:f44:4e1:2ff:fe00:4257)
04:06:57 Join michaelni [0] (~michael@213-47-68-29.cable.dynamic.surfer.at)
04:06:57 Join shrizza [0] (~shrizza@oki-180-131-209-187.jptransit.net)
04:06:57 Join f1refly [0] (~f1refly@dynamic-077-008-223-115.77.8.pool.telefonica.de)
04:06:57 Join Barlow [0] (~barlow@unaffiliated/barlow)
04:06:57 Join Moarc [0] (~chujko@a105.net128.okay.pl)
04:06:57 Join Strife89 [0] (~quassel@adsl-74-250-151-186.ags.bellsouth.net)
04:06:57 Join Topy44 [0] (YwgdD0qBv9@bellatrix.uberspace.de)
04:06:57 Join Romster [0] (~romster@unaffiliated/romster)
04:06:57 Join gevaerts [0] (~fg@rockbox/developer/gevaerts)
04:06:57 Join kirvesAxe [0] (kirvesaxe@aulis.sange.fi)
04:06:57 Join Slasheri [0] (~miipekk@rockbox/developer/Slasheri)
04:06:57Mode"#rockbox +o ChanServ " by weber.freenode.net
04:06:57 Join WakiMiko [0] (~WakiMiko@unaffiliated/wakimiko)
04:06:57 Join funman [0] (~fun@rockbox/developer/funman)
04:06:57 Join TorC [0] (~Tor@fsf/member/TorC)
04:06:57 Join ecs [0] (esawady@sourcehut/interns/ecs)
04:06:57 Join GeekShadow [0] (~antoine@unaffiliated/geekshadow)
04:06:57 Join ArsenArsen [0] (~Arsen@managarm/dev/ArsenArsen)
04:06:57 Join braewoods [0] (~braewoods@learnprogramming/staff/braewoods)
04:06:57 Join user890104 [0] (~Venci@freemyipod.org)
04:06:57 Join olspookishmagus [0] (~pookie@snf-137798.vm.okeanos.grnet.gr)
04:06:57 Join _bilgus [0] (~bilgus@cpe-107-11-237-184.columbus.res.rr.com)
04:06:57 Join beencubed [0] (~beencubed@209.131.238.248)
04:06:57 Join yosafbridge [0] (~yosafbrid@static.38.6.217.95.clients.your-server.de)
04:06:57 Join jdarnley [0] (~J_Darnley@d51A44418.access.telenet.be)
04:06:57 Join bonfire [0] (~bonfire@c-24-2-109-9.hsd1.ut.comcast.net)
04:06:57 Join daswf852 [0] (~daswf852@unaffiliated/dwf)
04:06:57 Join RafiX [0] (rafix@junkcc.net)
04:06:57 Join ender| [0] (~ender1@2a01:260:4094:1:6045:6fff:fedd:cbf3)
04:06:57 Join igitoor [0] (igitur@unaffiliated/contempt)
04:06:57 Join SovietShaman_ [0] (quassel@024-217-039-226.res.spectrum.com)
04:06:57 Join galaxy_knuckles [0] (~gknux@unaffiliated/galaxy-knuckles/x-1756549)
04:06:57 Join skrzyp [0] (~skrzyp@skrzyp.net)
04:06:57 Join jschwart [0] (~quassel@2001:985:2c6e:0:b00b:32ff:fe28:5567)
04:06:57 Join rudi_s [0] (~simon@bmi.informatik.uni-erlangen.de)
04:06:57 Join XDjackieXD [0] (~jackie@irc.chaosfield.at)
04:06:57 Join paulk-leonov [0] (~paulk-leo@vpn-0-22.aquilenet.fr)
04:06:57 Join prg3 [0] (~prg@deadcodersociety/prg318)
04:06:57 Join bleb [0] (~cm@unaffiliated/bleb)
04:06:57 Join benedikt93 [0] (~quassel@unaffiliated/benedikt93)
04:06:57 Join ParkerR [0] (~ParkerR@unaffiliated/parkerr)
04:06:57 Join gsora [0] (~gsora@unaffiliated/gsora)
04:06:57 Join spectrumanalyst [0] (~admin@198.46.152.45)
04:06:57 Join tchan [0] (~tchan@lunar-linux/developer/tchan)
04:06:57 Join Huntereb [0] (~Huntereb@142-196-011-243.res.spectrum.com)
04:06:57 Join rogeliodh [0] (~rogeliodh@rogeliodh.dev)
04:06:57 Join advcomp2019 [0] (~advcomp20@unaffiliated/advcomp2019)
04:06:57 Join Ckat [0] (~Ckat@xn--z7x.xn--6frz82g)
04:06:57 Join berber [0] (~berber@v2202101107577140883.nicesrv.de)
04:07:06 Quit dweeber (Max SendQ exceeded)
04:07:06 Join rasher [0] (~rasher@rockbox/developer/rasher)
04:07:06 Join toruvinn [0] (~toruvinn@77-255-90-179.adsl.inetia.pl)
04:07:07 Join JanC [0] (~janc@lugwv/member/JanC)
04:07:34 Join dweeber [0] (~dweeber@c-73-52-129-219.hsd1.ut.comcast.net)
04:08:16 Join kakaka [0] (~koniu@gateway/tor-sasl/koniu)
04:08:57 Join Tsesarevich [0] (Tsesarevic@fluxbuntu/founder/joejaxx)
04:09:19 Quit paulk-leonov (Ping timeout: 250 seconds)
04:09:43 Quit hook54321 (Ping timeout: 260 seconds)
04:09:49 Quit Tsesarevich (Excess Flood)
04:10:10 Join Tsesarevich [0] (Tsesarevic@fluxbuntu/founder/joejaxx)
04:12:22 Join hook54321 [0] (sid149355@gateway/web/irccloud.com/session)
04:20:05 Quit hook54321 (Changing host)
04:20:05 Join hook54321 [0] (sid149355@gateway/web/irccloud.com/x-mxonnkmjnhseenax)
04:23:40 Join paulk-leonov [0] (~paulk-leo@vpn-0-22.aquilenet.fr)
04:49:08 Join pixelma [0] (marianne@rockbox/staff/pixelma)
04:49:08 Join Soap_ [0] (~Soap@rockbox/staff/soap)
04:49:08 Join SammysHP [0] (~SammysHP@faol.sammyshp.de)
04:49:08 Join Natch [0] (~natch@c-b471e255.014-297-73746f25.bbcust.telenor.se)
04:49:08 Join copper [0] (~copper@unaffiliated/copper)
04:49:08 Join Xeha [0] (~Xeha@unaffiliated/xeha)
04:49:08 Join aevin [0] (eivindsy@unaffiliated/aevin)
04:49:08 Join kugel [0] (~kugel@rockbox/developer/kugel)
04:56:41 Join ccf-100 [0] (ccf-100mat@gateway/shell/matrix.org/x-iomocwibultsdvpp)
04:56:41 Join mud [0] (kadobanmat@gateway/shell/matrix.org/x-zgbmebmtuhdubutk)
04:56:41 Join danielp3344 [0] (danielp334@gateway/shell/matrix.org/x-mvlxwbiddmyjmqzj)
04:56:41 Join kadoban [0] (kadobanemp@gateway/shell/matrix.org/x-zbemkkpthikwihsa)
04:56:48 Join blbro[m] [0] (blbrostrat@gateway/shell/matrix.org/x-tlbkackcydjojpba)
05:00
05:03:29 Quit igitoor (Ping timeout: 250 seconds)
05:04:33 Join igitoor [0] (igitur@2a00:d880:3:1::c1ca:a648)
05:15:21 Quit igitoor (Changing host)
05:15:21 Join igitoor [0] (igitur@unaffiliated/contempt)
05:38:58 Join pamaury [0] (~pamaury@rockbox/developer/pamaury)
06:00
06:06:51***Saving seen data "./dancer.seen"
06:17:07 Quit JanC (Ping timeout: 260 seconds)
06:19:09speachydconrad: I didn't check to see if the unity line out is the same. but yeah, the scale is different. due to how the math works, anything under -43 is effecively muted so there's no point in claiming to go lower than that.
06:21:15speachythe other targets that use this 16->32-bit skullduggery have some control of analog gain so it's possible to be more nuanced but not here.
06:23:17 Quit tomato (Read error: Connection reset by peer)
06:23:54braewoodsspeachy: what xduoos do we support? i just saw an X2 for sale.
06:24:40braewoodshttps://www.newegg.com/xduoo-x2-mp3-player/p/N82E16855455001
06:24:43braewoodsnewegg no less
06:25:10speachybraewoods: check the web page? :D
06:25:27speachy(but x3, x3ii, x20)
06:25:38braewoodsoh
06:25:40braewoodsnot supported
06:25:42braewoodsofc
06:25:59braewoodshttps://forums.rockbox.org/index.php?topic=50788.0
06:26:09speachyx2 is a cut-down chip along the lines of the atj212x x2s is about the same.
06:26:14speachy(presumably)
06:26:27speachyd3 is a rknano-D
06:27:40braewoodsit's kinda weird seeing as how PP was so high end compared to a lot of modern players
06:27:55braewoodsdon't even compare in terms of the average ram PP had
06:28:24braewoodstoo bad rockbox doesn't have a company like gl.inet like openwrt does
06:28:32speachythe funny thing is that the newer SoCs have faster CPUs in them, plus real HW acceleration blocks. where they fall down is system RAM.
06:28:40braewoodsgl.inet sells hardware with their own openwrt derivatives
06:29:44braewoodsspeachy: probably is, an armv7 or newer would probably smoke a PP
06:30:13braewoodswhich makes me wonder...
06:30:53braewoodswould be funny to find a SoC that is just perfect for Rockbox porting
06:31:18braewoodsthat we could make custom hardware out of
06:31:31braewoodsbut eh
06:32:16 Join tomato [0] (t0mato@gateway/vpn/mullvad/tomato)
06:32:35speachydconrad: also discovered that how I have the scrollwheel set up it doesn't prevent the disply from going to sleep. oops.
06:33:25speachythe ingenic X1000/X2000 series, and the allwinner V3/V3s are about perfect. (also the FC series, but there's not much point in those unless the price is _very_ right...)
06:33:44 Join JanC [0] (~janc@lugwv/member/JanC)
06:34:08speachythe V3/FC series also have full upstream uboot/linux support and complete [enough] docs.
06:34:41braewoodsand more cores than we can shake a stick at
06:35:01braewoodswe're kinda SMP ready due to PP
06:35:03speachybraewoods: they aren't v7s, they're Cortex-M, but clocked high enough to make a real difference.
06:35:05braewoodsthough how much I can't say
06:35:18braewoodsoh, the allwinners lack a FPU?
06:35:33speachybraewoods: I was talking about the cut-down stuff in more modern players
06:35:36braewoodsi thought most modern ARM chips had them now
06:35:38braewoodsOh
06:35:40speachythe allwinners are a proper armv7, yes
06:35:57speachythe FC series is an armv6 (ARM11 core IIRC)
06:35:59braewoodswe don't need armv8
06:36:22braewoodsif we did have a cpu though we'd have access to 64 bit
06:36:35speachyeh, we dont' need 64-bit but all else being equal the same code on armv8 vs v7 should run faster.
06:37:02speachy(not unlike how x86_64 is faaster than ol' x86)
06:37:12braewoodsmostly due to more registers
06:37:29speachyyep.
06:37:30braewoodsthere were ABIs that were a hybrid of the old and new ABIs
06:37:35braewoodsx32 i believe
06:37:48braewoodsstayed 32 bit in some ways but leveraged the new 64 bit ISA
06:38:05speachyx32 wasn't "better enough" to warrantt requiring a third binary format
06:38:18braewoodsgood riddance
06:43:40fs-bluebotBuild Server message: New build round started. Revision 1e2a9a651c, 298 builds, 10 clients.
06:46:13braewoodshuh. so that's why AMD skybridge never came to be.
06:46:44braewoodsi wonder if they'll ever revisit that idea. being able to switch to ARM cores during idle would probably help energy usage.
06:54:42fs-bluebotBuild Server message: Build round completed after 662 seconds.
06:54:45fs-bluebotBuild Server message: Revision 1e2a9a651c result: All green
06:54:54fs-bluebotBuild Server message: New build round started. Revision 54b8e9131c, 298 builds, 10 clients.
06:58:28braewoodsspeachy: looking for more xduoo x3? i just saw a good condition one up for auction
06:58:40braewoodshttps://www.ebay.com/itm/XDUOO-X3-DIGITAL-AUDIO-PLAYER/184746255083
06:58:44speachyI have my beater and a NIB spare
06:58:55braewoodsah. ok.
06:59:10speachybut someone else should buy it so they can enjoy its awesomeness
06:59:22braewoodslol
06:59:49braewoodsthe gigabeat F felt pretty good when I handled it earlier
06:59:59braewoodsit's mostly aluminum shell.
07:00
07:00:09braewoodsmay be old but it's well built
07:02:39braewoodswell that was a productive night
07:02:53braewoodsi spent some time updating ungoogled chromium scripts for submitting stuff to OBS
07:06:41braewoodsspeachy: what do you use for editting source code these days?
07:06:54speachyemacs
07:06:59braewoodsi've grown fond of sublime text myself due to some features i'd never seen in an editor before
07:07:24braewoodssessions mainly, it even remembers stuff i haven't officially saved yet
07:07:31braewoodsi was surprised
07:07:37braewoodsit has saved me from losing work a few times
07:09:53braewoodsi hate vim with a passion, only use it when i have to
07:10:09braewoodsit seems far too easy to accidently do the wrong thing and find your whole line replaced with garbage
07:10:12braewoodsor something
07:10:33speachythe only vi command one really needs to know is how to quit without saving. :)
07:13:26fs-bluebotBuild Server message: Build round completed after 1112 seconds.
07:13:29fs-bluebotBuild Server message: Revision 54b8e9131c result: All green
07:13:30fs-bluebotBuild Server message: New build round started. Revision 9847f9c85e, 298 builds, 10 clients.
07:28:27fs-bluebotBuild Server message: Build round completed after 897 seconds.
07:28:29fs-bluebotBuild Server message: Revision 9847f9c85e result: All green
07:28:31fs-bluebotBuild Server message: New build round started. Revision 10facef17b, 298 builds, 10 clients.
07:44:57fs-bluebotBuild Server message: Build round completed after 987 seconds.
07:44:59fs-bluebotBuild Server message: Revision 10facef17b result: All green
07:56:19 Join massiveH [0] (~massiveH@ool-18e4e82f.dyn.optonline.net)
08:00
08:04:57braewoods_bilgus: ok so i got a functional hdd6330 now i can test with...
08:05:16braewoodsso far i've observed GPIO changes when i connect to the dock
08:05:18braewoodsor disconnect
08:05:29braewoodsso must be some kind of indication of presence of the dock
08:05:41braewoodsbut nothing for remote input
08:05:51braewoodshm.
08:06:34braewoodsi also noted how the schematic shows that the "cradle remote" pin is connected directly to one of the chip pins labeled as PWM
08:06:43braewoodsthe other PWM is for the LCD backlight
08:06:52braewoodswhich i looked into... it's an output pin for sure
08:06:53***Saving seen data "./dancer.seen"
08:07:01braewoodsthe code does some stuff with a variable
08:07:21braewoodsi'm going to assume that the remote stuff i'm looking for isn't too different from how the backlight is controled
08:07:30braewoodssince it's right next to the other PWM pin
08:07:59braewoodsquestion is, how do I enable input on it so I can try to test my theory?
08:09:07braewoodsthe LCD code uses outl to write to some address I believe.
08:09:36braewoodsalso does something with GPO32_ENABLE and GPO32_VAL
08:10:15braewoods_bilgus: there's only so many bits i can set so, any advice of what these do?
08:13:08 Join Saijin_Naib [0] (~Saijin_Na@2603-7081-1d05-7230-6c7b-cc55-d26f-2c7f.res6.spectrum.com)
08:21:46_bilgusbeing that the pimns are right next door it should pretty straight forward to enable that GPIO as well
08:22:06_bilgusthat PWN signal is also ->out according to the schematic
08:22:50_bilgusmy assumption is that they are using the pwm and reading resistor ladders on the acd
08:22:54_bilgusADC
08:24:51_bilgusdoesn't means thats true though −− being that they have an ADC probably not BUT they could even be doing a cap charge on the pwm the buttons bleed it off or even something capacitive but I doubt it
08:25:53_bilgusALSO IIRC it appears they just piggy back off the inbuilt buttons so in theory you should be able to see them on the adc pin when you press buttons on the player
08:27:12_bilgusif you have a DVM digital being key it should have high enough impedance that you should be able to probe the line
08:31:16_bilgusI think that adc is always enabled so on the pin going back to it I'd just try placing a few resistors like this as a volatage divider between PWM and ground don't choose anything lower than about 1k
08:32:24_bilgusso its going to go like this −−-PWM −−-v^v^v^−−−−-ADC−−−−v^v^v^−−−−−−-GND
08:32:39_bilgus-v^v^v- is a resistor :p
08:33:14braewoods_bilgus: well there's only 2 connected ADC lines.
08:33:26braewoodsone is for the battery. the other is a mystery but appears to connect to the FM chip.
08:33:27_bilgusso the one between PWM and ADC would be varied by buttons and would have a fixed one in parallel to hold the line
08:33:58_bilgusit looks to me that the buttons on the player and the player buttons share that one
08:34:12_bilgusbut its also been like a week since I looked at it
08:34:24braewoodsthis isn't the H10, the hdd6330
08:34:39braewoodsi'm just trying to figure out where it's connected in software right now
08:34:45braewoodsi thought PWM was an input here
08:34:52braewoodssince remote would be an input
08:34:56_bilgusoh you are doing this blind
08:35:01braewoodscurrently yes
08:35:14braewoodsi just thought you might have some ideas
08:35:23braewoodsi don't have the fancy hardware probes
08:35:32_bilgusyou don't need them
08:35:47braewoodsthis seems simple enough that i shouldn't need them
08:35:50_bilgusa DMM DVM will do fine unless its high speed stuff
08:36:15_bilgusthen even that high impedance can change the circuit
08:36:47_bilgusso first I'd probably see if you can find the gpio triggering for the inbuilt buttons
08:37:01braewoodsthat's probably easy
08:37:15braewoodsi also noted there's an interrupt line for the remote
08:37:20braewoodsbut probably irrelevant for now
08:37:20_bilgusthey would probably do a similar scheme for the remote unless they were constrained
08:37:47_bilgusif you have an interrupt then i'd assume a shift register holding button states
08:37:58braewoodsit appears PWM1 and the AIN1 are connected
08:38:13braewoodsis that what the red dot means?
08:38:27braewoodserr blue dot
08:38:43_bilgusmight be shared but IDK
08:39:01 Quit akaWolf (Ping timeout: 260 seconds)
08:39:15braewoodsthe fact it has a separate interrupt makes me think the input is on a different input
08:39:32braewoodsotherwise it'd probably use the same interrupt as the regular buttons
08:39:48_bilgusif they are sending an interrupt then there is data stored somewhere
08:40:07braewoodsi think GPO32 is a good place to look
08:40:21_bilgusso you do or don't have a remote?
08:40:25braewoodsi do
08:40:38_bilgusoh well that makes this much easier start there lol
08:40:48braewoodsyea, i wouldn't be talking about it if i didn't
08:41:06_bilgusI figured you were trying to RE it without a remote
08:41:18braewoodswhy would i bother without the hardware?
08:41:22braewoodsi can't test it if i don't have it
08:41:26_bilgusto make a remote
08:41:31braewoodsoh
08:41:33braewoodslol
08:41:42braewoodsnah
08:41:53_bilgusyou need a scope even a $50 will get you somewhere
08:42:06braewoodsthat still won't tell me where to poke around in software
08:42:25braewoodsaddress wise
08:42:26_bilgusoh sure it will
08:42:31_bilgusno not address
08:42:55braewoodsstill i find it weird
08:42:58_bilgusonce you know the protocol that will narrow down where to look
08:42:58braewoodsin this schematic
08:43:06braewoodswhy is the remote circled?
08:43:11braewoodsnothing else is
08:43:33_bilgusbut if you have a remote and code running then I'd dump the pin states and do some anaylasis
08:43:44_bilgusanalysis
08:43:46_bilguslol
08:43:49braewoodsi tried some of that already
08:44:00braewoodsnothing changes when i press buttons in the view i/o ports debug
08:44:06braewoodsfor the remote
08:44:07braewoodsanyway
08:44:19braewoodsdo i need to enable something?
08:44:28braewoodsi'm not used to embedded development
08:44:42_bilgusprobably its not looking at the right ones?
08:45:23_bilgusbut see if its using the ADC then you won't see GPIO data
08:45:37braewoodsthe I/O ports also had ADC output
08:45:47_bilgusADC doesn't output
08:45:50braewoodserr
08:45:52braewoodsinput
08:45:55_bilgusits a GPIO then
08:45:55braewoodsit had the inputs
08:46:11braewoodsthe schematic doesn't suggest it has anything to do with the connected ADC
08:46:13_bilgusah ok ADC inputs though need to be read
08:46:35_bilgusSo first look at the in states in software
08:46:45braewoodstruth is _bilgus most of the buttons here are implemented in a touchpad
08:46:45_bilgusthey are sometimes 00 01 10 11
08:46:53braewoodssave for the side buttons
08:46:55braewoodswhich are gpios or so
08:47:07_bilgusPIN states*
08:47:23_bilgusso find the bits controlling the port directions
08:47:44_bilgusand read out that then compare to known pin ststes
08:48:42_bilgusif you have 32 pin states its probably in several INTS
08:49:22_bilgusso one set will be 0 for in 1 for out (or even flipped!) and another set might be special functions
08:50:06braewoodssince nothing is happening I need to try flipping unused bits
08:50:30_bilgusthe remote is doing something no?
08:50:36braewoodsyes, in the OF it works
08:50:41_bilgusok good
08:50:51_bilgusdon't go flipping bits this aint that deep
08:50:51braewoodsi wouldn't be trying this without a reference point
08:50:55 Quit Saijin_Naib (Ping timeout: 258 seconds)
08:51:14braewoodsI thought GPO32 would be a good place to start looking for inputs
08:51:24braewoodswhere should I look then?
08:51:28_bilgusgo into the current button code and see if the adc puts out a different level first if you haven't already
08:51:41braewoodsok i'll try it
08:51:46braewoodsactually...
08:51:53braewoodsi know for a fact it won't but i'll confirm it
08:52:09_bilgusnext i think i'd try finding that interrupt line
08:52:50_bilgusit might be the to signal the adc is ready and I'd watch it in HARDWARE
08:53:40_bilgusor if you can find other interrupt sources then you might be able to flip that bit
08:54:26braewoodsthe only buttons triggering GPIOs are the physical ones
08:54:32braewoodsremote does nothing there
08:54:42_bilgusah ok I get what you are thinking flip the gpios to input to see if they toggle
08:54:59 Quit massiveH (Quit: Leaving)
08:55:06braewoodsyes.. try to enable ones that are currently not used to see if anything changes when the remote is used
08:55:24braewoodsthe ADC doesn't have anything to do with regular input
08:55:29braewoodson this unit
08:55:32_bilgusas long as you don't switch them to output then I think you'll be ok
08:55:46braewoodsoh that sounds bad
08:56:48_bilgusfiugure most pins start in input so I don't see why they wouldn't already be enabled
08:57:12 Join akaWolf [0] (~akaWolf@unaffiliated/akawolf)
08:57:38_bilgusunless that remote has > 6 wires my guess would be reading the adc
08:57:52_bilgusso lets enable the adc and do our own read of it
08:58:26braewoodswouldn't the ADC be connected to the remote in some way if it was use?
08:59:07_bilgusnow you will have to figure out its input state so maybe you could hook up the remote and boot and read the imnitial memory setup
08:59:25_bilguswell to a pin that the adc can be told to read
09:00
09:00:05_bilgusif its disconnected though then no way to do that
09:00:26braewoodsU16 is connected to the battery ADC
09:00:33_bilgusthis is why I said start in the remote and figure out what it does for a button
09:00:33braewoodsno way it's used for this
09:00:38braewoodsOh
09:01:53braewoodshuh i just had a weird idea
09:02:09braewoodslet me check what PM3 is
09:02:35_bilgusso i figure you have several options... a. ADC b. GPIO directly c. processing and sending a packet (I2c, shift register, etc)
09:02:39braewoodsno indication
09:02:53braewoodsif I2C was used, the manual would probably give me the address for it
09:03:06braewoodsit does for the rest of the stuff
09:03:29braewoodsi was just thinking though bilgus
09:03:32braewoodswhat if..
09:03:37braewoodsno wait
09:03:42braewoodsthe backlight line is an output one
09:03:58_bilgushow many wires go to the remote and what do they connect to in the remote?
09:04:16braewoods_bilgus: well i looked at the dock since that's what is exposed to the player
09:04:47_bilgusif the remote has a processor then it might be sending serial data
09:05:32_bilgusacting as a shift register basically
09:05:58_bilgusits too broad a search area ATM
09:06:14braewoodsthere's only one remote
09:06:16braewoodspin
09:06:48braewoods_bilgus: what do these arrows mean anyway?
09:06:56braewoodsvideo out points away from the cradle
09:07:00braewoodsline out points towards it
09:07:18_bilgusI'd assume the direction of data
09:07:31_bilgusdo yu have a pic of this schematic
09:07:38braewoodsi showed it to you before
09:07:42braewoodshttps://www.rockbox.org/wiki/pub/Main/GoGearHDD6330/Philips_HDD6320_HDD6330_Service_Manual.pdf
09:07:53braewoodsit's at the back of the service manual
09:08:28braewoods30 pin cradle connector
09:08:33braewoodsi wonder if it's ipod compatible
09:10:16_bilgusREMOTE control power on off
09:10:30braewoods_bilgus: meaning what?
09:10:37braewoodsthe cradle_remote is something else?
09:10:43_bilgusit shows an opamp that leads to the interrupt pin
09:11:45_bilgusso that tells me at least the power button uses a resistor ladder
09:12:12_bilgusover on the left see the voltage divider
09:12:19_bilgusbetween 3v3 and gnd
09:12:26_bilgusthats the reference
09:12:42braewoodsto trigger an interrupt?
09:12:48_bilgusso that op amp signals an interrupt when those levels differ
09:12:59_bilgusaccording to the schematic
09:13:12braewoodswhich happens when there's input on the remote jack or cradle remote
09:13:18_bilgusmioght be REMOTE_INTERNAL
09:13:39_bilgusthe lines show that they both connect to this op amp
09:13:52braewoodsmakes sense if they're related
09:13:53_bilgusbut the op amp can't tell you what button was pressed
09:14:09braewoodsof course not, since they share the same interrupt
09:14:19_bilgusso it raises an interrupt and someone has to go read it
09:14:19braewoodsthe rest must be diagnosed from software values
09:14:33_bilguslets see if we can intuit that
09:14:56braewoodswell let's start by seeing what those 2 inputs are connected to
09:15:03braewoods they also need to be connected to the CPU somehow
09:15:33braewoodscradle_remote just goes to a pin labeled as PWM
09:15:38braewoodsare PWM inputs a thing?
09:15:45braewoodsi thought it was mainly an output
09:17:04braewoodshuh
09:17:13braewoodsremote_jack is connected to the unknown ADC
09:18:16_bilgusADC AIN1
09:18:30braewoodsthat's an odd one
09:18:36braewoodswhen it's disconnected from the dock
09:18:37_bilgusthat is enough info to do this
09:18:41braewoodsor connected even
09:18:59_bilgusso what tou need to do is set up ADC AIN1 for a read
09:19:13braewoodsisn't that already happening from the debug menu?
09:19:14_bilgusand instead of waiting for interrupt read it in a loop
09:19:22_bilgusdoubtful
09:19:40braewoodsadc_read ?
09:19:44braewoodsis called from debug_pp.c
09:19:50braewoodsdebug-pp.c*
09:20:06_bilgusyou need to push bits in to set up wait for setup ready (udelay 250 work FN) and trigger it
09:20:19_bilguspossibly but you need to set it up
09:20:35_bilgusand then toggle the trigger bit
09:21:13braewoodsso it won't show up in debug then
09:21:45_bilguscopy adc AIN0 (the battery)
09:22:05_bilgususe its code and tweak to the proper ADC
09:22:43_bilguswhy would anyone show debug for an unconnected peripheral?
09:23:07CtcpIgnored 2 channel CTCP requests in 1 day and 7 hours at the last flood
09:23:07*braewoods shrugs
09:26:44_bilguslaer once you get that then you should be able to use the interrupt or just poll it
09:27:57braewoods_bilgus: so how would I "trigger" it?
09:30:27braewoodshm
09:30:34braewoodsfirst thing i'll try... find the interrupt line
09:30:40braewoodsthat should be pretty harmless
09:32:52_bilgusno just load the bits
09:33:03_bilgussame way the battery loop does it
09:33:26braewoods_bilgus: the debug menu's io ports thing was already triggering reads of ADC1
09:33:34braewoodsso didn't i already do that?
09:33:40_bilgusyou just need to send it to the proper register for ADC1 instead of ADC0
09:34:28braewoodsline 177 of debug-pp.c
09:34:30_bilgusis it actually ADC1 and then the question becomes the setup
09:34:40braewoodsadc_read(ADC_BATTERY), adc_read(ADC_UNKNOWN_1));
09:34:49_bilgusso we have an external source
09:35:06_bilguswe probably need to set the bits brb
09:35:11braewoodsok
09:35:28braewoodsADC1 has all the bits turned on (it is 10 bits)
09:35:30braewoodsso 0x3ff
09:35:37braewoodsthought it will vary a small amunt
09:35:41braewoodsregardless of what i do
09:35:48braewoodssomething 0x3fd or something
09:35:52braewoodslet me confirm that
09:37:18braewoods3ff
09:37:24braewoods3fe
09:37:30braewoods3fd
09:40:32_bilgusI don't see adc scan being called
09:40:42braewoodsit's just using adc_read
09:40:46_bilgusyou are just reading static data presumably
09:40:53braewoodsit changes so it is being updated
09:41:07_bilguslooking at the source (hopefully the 5020)
09:41:13braewoodsit is a 5020 chip
09:42:00braewoodsi just assumed it would be just as good
09:42:09braewoodsbut..
09:42:16_bilgusnm it does it in a tick task
09:42:26_bilgusstill looking for the cfg bits
09:42:58_bilgusadc_init
09:43:06_bilgusthats where we need to look
09:43:12braewoodsADC1 is connected to 2 things according to the schematic
09:43:49braewoodsREMOTE_JACK... what's the 6,7 mean?
09:44:05braewoodsand a resistor inline with a 3.3V power supply
09:44:19_bilgusyep
09:44:21_bilgusADC_STATUS
09:44:29_bilgusplay with that register
09:44:35_bilgusunder unknown1
09:44:49_bilgustry 0x20 like the battery try values like the other players
09:45:01_bilgusor guess from similar processors
09:45:24_bilgusbut we need to set the threshold and the source
09:45:47braewoodsfirst i need to find input corresponding to the remote events
09:46:05braewoodsi should get something even if it doesn't make sense initially
09:47:25_bilgusguessing it needs a thresh of 2.5v by the 10k resistor holding it high
09:48:29braewoodsgoing by the logic in this ADC
09:48:31_bilgusso it may also have internal pull up and down we need that disabled but you should still see stuff
09:48:35braewoodsADC_STATUS must be 8 bits per channel
09:48:58braewoodsit shifts over 8 bits for each channel enabled
09:49:02_bilgusno they have 0x200000 inthere right?
09:49:10_bilguspossible
09:49:18braewoodswell
09:49:23braewoodsthe first for battery is
09:49:27braewoodsADC_STATUS |= 0x20;
09:49:32braewoodsnext one for unknown is
09:49:35braewoodsADC_STATUS |= 0x2000;
09:49:50braewoodsit's setting the...
09:49:53braewoods6th bit?
09:49:57_bilgusId say your assumption is correct
09:49:59braewoodsthen the 14th bit
09:50:16braewoodsin any case i wonder what the extra bits do
09:50:29_bilgusnope I should have pointed you at init
09:51:07_bilgusOR we are missing the cfg code
09:51:16_bilgusthe register rather
09:54:21braewoodsi'm getting the feeling the remote_jack indicates the presence of the remote
09:54:26braewoodsfrom the schematic
09:54:46braewoodsmeaning whether the remote feature is available or not
09:55:05braewoods(or connected to a remote compatible dock)
09:58:48_bilgustry this
09:59:01braewoods?
09:59:02_bilgus#define ADC_CFG (*(volatile unsigned long*)(0x7000ad0C))
09:59:19_bilgusthen do that same thing they did of writing to the upper
10:00
10:00:17_bilgushold on let me math for a moment
10:00:23braewoodsOk
10:01:24_bilgusyeah I think thas right
10:01:31_bilgus4+ 16 would b 20
10:01:44_bilgusso thats two 8 bytes registers
10:01:50_bilgusI think cfg is missing
10:02:09braewoodscan you give me a patch to try?
10:02:20braewoodsat least for this first one
10:02:23_bilgusI can pastebin it
10:02:32braewoodssure
10:02:39braewoodsif we still are having trouble...
10:03:22braewoodsi can mail you a set of units, i'm going to end up with 2 complete sets anyway
10:03:35braewoodsbut i want to see if we can find it over the net instead
10:05:55_bilgushttps://pastebin.com/fayuaEcY
10:06:25_bilguswe can given enough screwing around
10:06:42_bilgusthe next thing to try is to dump the registers from the bootloader
10:06:54***Saving seen data "./dancer.seen"
10:07:11_bilgusif we can just get the cfg right
10:07:22_bilguswe won't need to
10:08:03_bilgusanyways you see the scheme they are using before I did so there is going to be a bit that seys it to the proper level atm its probably saturated
10:08:42_bilgusso try setting them all might check what the initial values are too
10:08:46_bilgusread that address
10:10:09_bilgusanyways I goota head look forward to progress might also try messing with the battery one to see if you can make it read wrong
10:16:41braewoods_bilgus: that did change the range of random inputs from the ADC1
10:17:04braewoodsbut nothing else that i can tell
10:39:23braewoodsmaybe i should try disassembling the OF
10:40:09braewoodsone idea i have
10:40:28braewoodsthe volume controls are simple enough and appear in both GPIO and the remote control
10:40:42braewoodsso in theory they should lead to the same code that causes the volume to chnage
10:40:52braewoodsand then backtrace from there
11:00
11:02:45 Quit paulk-leonov (Read error: Connection reset by peer)
11:03:10 Join paulk-leonov [0] (~paulk-leo@leonov.paulk.fr)
11:47:56braewoods_bilgus: the hdd1630 and hdd6330 are very similar schematics wise so I thought i'd compare them
11:48:19braewoods_bilgus: pin 17, the cradle remote pin? it's labeled GPIO4 in thhe hdd1630.
11:48:35braewoods_bilgus: and both connect to the same labeled pin on the PP cpu
11:48:46braewoodsno idea what the difference is as of ye
11:48:48braewoodsyet
11:49:28braewoodsADC_AIN1 is connected to remote jack in this one
11:51:00braewoodsso my theory is...
11:51:14braewoodsthe same method for accessing the remote is the same in both
11:51:16braewoodsor close enough
12:00
12:00:45braewoodsi suspect AIN1 is used for some kind of wakeup feature?
12:00:50braewoodshard to say
12:01:09braewoodsit appears to basically be a voltage reading of some kind. it's connected to the battery voltage.
12:02:34braewoodsyep think that's confirmed
12:02:36braewoodsDC-DC_START#
12:02:46braewoodsalso connected to the power switch
12:06:57***Saving seen data "./dancer.seen"
12:10:19braewoods_bilgus: though i'm puzzled... why does the cradle even have an I2C connector?
12:10:35braewoodsthat only makes sense if there's I2C chips inside.
12:10:48braewoodsotherwise there's no point to having that.
12:11:12braewoodsthe remote only sends an IR signal
12:11:27braewoodsi wonder if the remote pin is just a red hearing
12:11:37braewoodsmaybe it only exists to trip the interrupt linee
12:12:02braewoodsif so...
12:12:16braewoodsthe most likely answer is inside the dock
12:12:25braewoodswhat is on the dock side of the connector?
12:12:33braewoodsthe I2C bridge exists for a reason
12:12:35braewoodsbut what?
12:12:52braewoodsit might have been for something planned but never used
12:13:01braewoodsor it could be for communicating with an IR cihp
12:13:02braewoodschip
12:15:18braewoodsmost likely explaination why it's there
12:15:56braewoodsmy theory, the chip sends a GPIO signal of some kind to let it know there's I2C data to read
12:16:10braewoodsin any case
12:16:24braewoodsi will have to disassemble one of these docks to find out
12:18:12braewoodsi'll do it later
12:18:26braewoodsdisconnected dock from power
12:18:31braewoodsi'll let it sit awhile
12:18:33braewoodstired
12:18:35braewoodsbbl
12:31:41_bilgusbraewoods, I'm 99% sure just getting the proper bits on the ADC will make it work
12:32:15_bilgusI'd just start flipping a bit at a time in a loop
12:32:58_bilgusthen pairs
12:34:37 Quit ArsenArsen (Quit: bye)
12:34:42braewoods_bilgus: so you think it'd be a waste of time to open up the cradle?
12:34:59braewoodsi just don't understand why the cradle has an I2C switch
12:45:06_bilgus /* Enable channel 1 (unknown) */
12:45:06_bilgus DEV_INIT1 &=~30;
12:45:07_bilgus DEV_INIT1 |=~10;
12:45:07DBUGEnqueued KICK _bilgus
12:45:07_bilgus //DEV_INIT1 |=~20;
12:45:07_bilgus ADC_ADDR |= 0x2000000;
12:45:07***Alert Mode level 1
12:45:07_bilgus ADC_STATUS |= 0x2000;
12:45:11_bilgus //ADC_CFG |= 0x2000; //??
12:45:19_bilgustry that the init of the others sets bits back
12:45:30_bilgusso get rid of the new cfg one for now
12:46:17_bilgusand maybe even |= 0x30
12:47:36_bilgushard to say but if its I2c then you should be able to ground the address line through a resistor and stop the remote
12:48:42_bilgusat the very least it shoudl change that adc reading
12:50:24_bilgusstill that schematic clearly shows the adc
12:51:34braewoodsdoesn't |= ~10 turn on a ton of bits?
12:51:44_bilgussorry no not
12:51:58_bilgus| =10 then try |= 20 then |=30
12:52:02bertrikbraewoods: yes I think so
12:52:06_bilgusit should be 00 01 10 11
12:52:31_bilgussorry I missed the tilde
12:52:38braewoodsit looked strange
12:52:52_bilgusI couldnt even see it till I got up on the screen lol
12:55:08***Alert Mode OFF
12:57:37 Join lebellium [0] (~lebellium@89-92-69-66.hfc.dyn.abo.bbox.fr)
13:00
13:03:17braewoodsnadda with that
13:04:07 Join TheSphinX^ [0] (~briehl@srv001.nosupamu.de)
13:04:27 Join TheLemonMan [0] (~lemonboy@irssi/staff/TheLemonMan)
13:04:45_bilgusugh without a datasheet this is annoting
13:04:53_bilgusannoying
13:05:49_bilgusok so a loop to flip all the uppr bits of those registers?
13:06:43_bilgusthe other thing to do is to dump that address range from the bootloader before it starts setting bits
13:07:15_bilgusor disable the init in the bootloader and be first to read on it in the booted FW
13:08:40_bilgusI think it was the clip+ we were doing that with or no clip zip?
13:09:47_bilgusbu ttere we load the OF init so this might be harder for you
13:10:33_bilgusmore like run the OF and reset the line and hope it sticks
13:10:42braewoods_bilgus: h320.
13:11:04_bilgus?
13:11:16braewoods"I think it was the clip+ we were doing that with or no clip zip?"
13:11:29_bilgusno long time ago
13:11:32braewoodsoh
13:11:45_bilgusdumping the cfg bits that the OF set
13:12:42braewoodswait a minute... this makes no sense
13:13:01braewoodsi think i find a bug in ADC
13:13:28_bilgusin our code? the whole ranging thing?
13:13:55braewoodshttps://github.com/Rockbox/rockbox/blob/master/firmware/target/arm/pp/adc-pp5020.c#L149
13:14:00braewoods~30
13:14:06braewoodsnotice there's no hexadecimal PREFIX
13:14:20braewoodsit's 30 base 10
13:14:25braewoodsyet the others use hexadecimal
13:14:28braewoodssomething is amiss here
13:14:56braewoodsi'll try changing that
13:15:37_bilgusoh nice catch
13:15:54braewoodsi can't imagine that's not a mistake
13:16:08braewoodssince everything else is using hexadecimal
13:16:18_bilgusitd set most of the bits in the lower register though?
13:16:47_bilgusso maybe its unintended sideffect is infact setting bits for ADC0 to work
13:17:09braewoodsno idea
13:17:29_bilgusyou will shortly
13:17:33braewoodsactually &= can't turn bits on
13:17:42braewoodsonly off or leave them as is
13:18:41_bilgusyep still its a mask
13:19:39_bilgusits wiping bit0 out so that first cfg stays the ame
13:19:45_bilgussame the 0x3
13:19:56_bilgusnot(0x3)
13:20:16_bilguslol
13:21:02braewoodsseems to behave the same
13:21:51_bilguswell now try oring 0x10 0x20 0x30
13:22:11braewoodswould it be unwise to do them all at once?
13:22:42braewoods0x60
13:22:51braewoodsnot wait
13:22:53braewoodsno wait
13:22:55braewoodsthat's 0xf0
13:22:57braewoodsLOL
13:23:07_bilgusits not gonna blow up
13:23:14_bilgusit just won't work
13:23:50_bilgusbut you might wanna get rid of that ranging thing
13:24:45braewoodsranging thing?
13:25:13_bilgus /* ADC values read low if PLL is enabled */
13:25:26 Quit lebellium (Ping timeout: 240 seconds)
13:25:27 Join lebellium_ [0] (~lebellium@89-92-69-66.hfc.dyn.abo.bbox.fr)
13:25:52braewoodsthat doesn't apply to this unit
13:25:55braewoodscheck the macro
13:26:05braewoodsOr?
13:26:12braewoodsit's gated by a macro
13:26:27_bilgusoh I see the !
13:26:43_bilgusnm then I figured that might cover up high readings
13:28:07 Join ArsenArsen [0] (~arsen@managarm/dev/ArsenArsen)
13:29:21braewoodsthis ADC is high under normal circumstances
13:29:36braewoodsfor it to give anything meaningful it would have to dip low and do consistently
13:30:06braewoodsinstead it seems to be tied to the fluctations in the power supply
13:30:40_bilgusok so 0x1000000 is 24 bits
13:30:52_bilgusthere are 3 longs for each adc
13:30:57_bilgusin theory
13:32:45_bilgusthey step everything by 4 though so that would be 6 shorts
13:34:46_bilgusbut since it has 0x80000000 I'd say we assume the former
13:41:58_bilgussomething is a bit off here
13:46:56braewoods_bilgus: ya think?
13:46:59_bilgusif 2c is the init and they put 0x8000 0000 at ad2c then that would make it 48 + 52 bytes
13:47:13_bilgus48 + 8 = 52 bytes
13:47:55braewoodsit was just a thought since i don't know what else it would be used fr
13:48:11braewoodsif i2c is involved i would have to find the address and datasheet
13:48:30braewoodsone way to find out
13:48:41braewoodssee if there's any unfamiliar i2c addresses in the OF
13:50:23braewoodsi've never heard of an i2c irda chip but they may exist
13:50:30braewoodsthe dock
13:50:41braewoodsthe dock's datasheet refers to it as IRDA
13:50:48braewoodsso
13:50:59braewoodsi'm guessing it has to have an IRDA chip in the dock
13:51:07braewoodsbut how it sends the data is still a mystery
13:51:16braewoodswe still haven't uncovered the entry point for it
13:51:35braewoodsi think some hardware level analysis is in order
13:51:47braewoodsfinding out what's in the dock would probably help
13:52:28braewoodsi mean IRDA is a bit involved so it has to have something to translate it to a different kind of signal
13:52:44braewoodsunless...
13:59:12braewoods_bilgus: what convinces you that AIN1 has the remote control bits?
13:59:22braewoodsit appears to be tied to the remote jack
13:59:32braewoodsthough not sure what that does exactly other than being tied to power on
14:00
14:07:00***Saving seen data "./dancer.seen"
14:09:48_bilgusthe schematics pull up resistor
14:10:04_bilgushope thi shows properly
14:10:10_bilgus 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
14:10:10_bilgus|__ADDRESS__|________________STATUS_____________________________________________________________|___DATA0___|___DATA1___|________INIT___________|
14:10:15_bilgusyes!
14:10:37braewoods...?
14:10:41braewoodsso what's you find?
14:10:58_bilguswell look at status versus what we set to it
14:11:22braewoodsthese are...
14:11:27braewoodseach 0 is 4 bits?
14:11:40braewoodsor?
14:11:44braewoods1 bit
14:11:52braewoodsthis is kinda confusing as it is shown on irc
14:12:27_bilgus80000000 says its 4 bytes
14:12:40_bilgusyes each 0 is a byte
14:12:46_bilgusno 00 is a byte
14:12:55_bilguslaid out like in a hex editor
14:13:25_bilgussorry lets regroup
14:13:47_bilgus32 bits or 8 bytes
14:13:49braewoodsso apparently we only read the frst 4 bytes
14:13:53braewoodsfor status
14:14:13braewoodsthe reminaing 12 are unused
14:14:30_bilguspoint being that there is a missing range inthere
14:14:53_bilgus20 extra bits
14:16:42_bilgusyou should set up a loop to fill from that cfg address to the base of data 0
14:17:14_bilgusand basically go through the init for that adc
14:17:19_bilguseach time
14:17:25braewoodsso set them all to 1s
14:17:55_bilgusor all zero and count up
14:18:35braewoodsthere's also 8 bytes between data and init
14:18:41_bilgusso in your loop all you need to do is write if adc < ad0 or w/e you get and let it do the work
14:18:42 Join Saijin_Naib [0] (~Saijin_Na@2603-7081-1d05-7230-110d-8f45-d887-ee78.res6.spectrum.com)
14:18:42braewoodsyet we only use the first 4
14:19:10_bilgusmaybe its 12 each chunk
14:19:43braewoodscould be unused padding or somethin
14:20:10_bilguspossibly but generally adcs have setup bits and source compare bits
14:20:10braewoodsi'm going to take a nap now so tired lol
14:20:22_bilgusciao
14:20:34braewoods_bilgus: it would help if we had an actual datasheet for the cpu
14:20:37braewoods._.
14:20:41_bilgusALWAYS!
14:20:46_bilguslol
14:20:59_bilguseven a similar one but ??
14:21:01braewoodscan you believe no PP datasheets leaked even though they stopp making chips?
14:21:13_bilgusyes
14:21:19braewoodslol
14:23:19_bilgus^ that was supposed to be 0x80000000 = 8 bytes 32 bitsd
14:23:39_bilgusso no one thinks I can count in binary lol
14:27:43speachygiven who provided most of PP's revenue, and who ultimately acquired them, yes...
14:34:51_bilgusbraewoods, https://pastebin.com/nA1LjinE
14:34:59_bilgusthat should get you started
14:35:18_bilgusyou might not be able to do the splash there either
14:35:31_bilgusdepending on when it does its first reads
14:36:08_bilgusso we just go throught and count up and hopefully change those status bits till it changes the adc value
14:36:12_bilguscfg
14:36:15_bilgusnot status
14:37:32_bilgusif that fails we might need to reinit the adc or somethign or maybe block out the 64 bytes I think it encompasses and start randomly flipping bits on and off till it does
15:00
15:08:24 Quit TheLemonMan (Quit: "It's now safe to turn off your computer.")
15:28:03 Quit Saijin_Naib (Ping timeout: 258 seconds)
15:33:10speachydconrad: the original X3 has about a 4.3Vpp. A bit on the hot side still
15:40:10 Join ats_ [0] (~ats@cartman.offog.org)
15:41:19 Quit atsampson (Ping timeout: 260 seconds)
15:55:36fs-bluebotBuild Server message: New build round started. Revision cd64aa2b10, 298 builds, 9 clients.
16:00
16:06:03speachyI'll get to the X3ii eventually. :)
16:07:04***Saving seen data "./dancer.seen"
16:07:08 Join Saijin_Naib [0] (~Saijin_Na@2603-7081-1d05-7230-14ba-5001-4fff-7f89.res6.spectrum.com)
16:07:16fs-bluebotBuild Server message: Build round completed after 700 seconds.
16:07:18fs-bluebotBuild Server message: Revision cd64aa2b10 result: All green
17:00
17:21:32 Join b0hoon [0] (57cd8bb1@87-205-139-177.adsl.inetia.pl)
17:25:06b0hoonbraewoods: Hi. Do you own the YH-925 by accident?
17:32:30b0hoonbraewoods: I'm asking because of my radio patch.
17:37:02 Quit ZincAlloy (Quit: Leaving.)
17:38:08 Join ZincAlloy [0] (~Adium@2a02:8108:943f:d824:793b:87ec:38af:f44a)
17:53:12 Join ac_laptop [0] (~ac_laptop@186.2.247.129)
17:57:35 Quit ats_ (Ping timeout: 260 seconds)
18:00
18:00:00 Join atsampson [0] (~ats@cartman.offog.org)
18:07:05***Saving seen data "./dancer.seen"
18:13:05 Quit lebellium_ (Quit: Leaving)
18:13:28braewoodsb0hoon: i tried to make one work but i never did get it to work.
18:13:34braewoodsi no longer have it.
18:13:45braewoodsit wouldn't really boot RB or anything
18:13:55braewoodsi blame that fickle HDD ribbon cable mysel
18:17:43braewoodspractically nothing to keep it from popping out whenever it felt like it
18:21:33b0hoonOh... It's a pity. Do you know if it had a radio module soldered in?
18:22:32b0hoonI have a patch for the radio, but it's not tested for DAP's without the module.
18:26:22b0hoonbraewoods: Regarding the scrollstrip for the HDD6330, you may want to look at this: https://gerrit.rockbox.org/r/c/rockbox/+/786.
18:31:11 Quit pamaury (Ping timeout: 260 seconds)
18:36:06 Join pamaury [0] (~pamaury@rockbox/developer/pamaury)
18:37:54b0hoonbraewoods: and yeah this ribbon cable in this player is very fishy. I have an adapter for CF card inserted, and it's connected for the word.
18:38:58braewoodsb0hoon: pretty sure it didn't.
18:39:48braewoodsif you can test your radio patch we can probably enable it as a build option for that target
18:40:02braewoodsit won't be an official build and will require people to build it themselves but it will be in tree
18:41:54braewoodsb0hoon: the funny thing is if they opted for a regular ZIF cable that would have solved most of the issues with it disconnecting
18:42:10braewoodsbecause you can lock the connector down
18:42:32b0hoonit's tested for DAP's with the radio, but it's not a good idea to aply it when we don't know if it can detect lack of it, imo there is no sense to do that
18:43:01braewoodsb0hoon: are you familiar with the H120 rtc mod?
18:43:04b0hoonyep, i don't know who designed this thing
18:43:08braewoodsthat's the kind of thing i was thinking about.
18:43:13braewoodssource wise
18:43:34braewoodsit's a build option you have to choose for the H120 to even use it
18:44:01braewoodsthat would be the best option until a way to configure it at runtime can be found.
18:44:19braewoodsyou can probably pickup a yh-925 on ebay for not much
18:44:30b0hoonno,  sorry i never had the h120
18:44:31braewoodschances are it won't have the chip
18:44:42braewoodsi read about it in passing
18:45:29braewoodssee tools/configure
18:45:52braewoodshave_rtc_alarm
18:45:57braewoodsthat's where it is enabled
18:46:14b0hoonyeah but the shipping is expensive, twice the price of the DAP for me
18:46:22braewoodsoh, you live somewhere remote
18:46:25braewoodsok
18:47:00b0hoonyes, but you have to solder a RTC chip additionally
18:47:06braewoodsindeed
18:47:11braewoodsbut i'm just saying
18:47:16braewoodsit's similar to this.
18:47:21braewoodssome units have it a lot don't
18:47:21b0hoonthere is something on the wiki about it
18:47:43b0hoondidn't know that
18:47:54braewoodsif you want to add your patch to current GIT
18:47:57braewoodsthat's a good way to do it for now
18:48:14braewoodsconditionally include it for custom builds that request it
18:48:47braewoodsthen maybe you can find a way to do it better at runtime so it can be enabled for all units
18:49:34braewoodsi think the main reason it never got implemented was lack of any indication of which ones had FM radio and which did not.
18:49:43braewoodsit made getting testing units harder
18:50:41 Quit pamaury (Ping timeout: 240 seconds)
18:50:53b0hooni'm not convinced without a full test, well. this patch implements detection. Basically you can see it in the OF
18:51:08braewoodsI see.
18:51:16braewoodsask on the forums. I think some people own the unit.
18:51:32braewoodsotherwise one of the regulars here might have one.
18:51:35 Join dconrad [0] (~dconrad@208.38.228.17)
18:52:06b0hoonI think i did it years ago but the main problem is these DAP's are dinosaurs
18:52:36braewoodsaren't they all
18:52:40 Quit ac_laptop (Ping timeout: 252 seconds)
18:52:55braewoodsthe bleeding edge ports are still too immature to be all that useful
18:53:08braewoodsi think the most feature complete port is the iriver h120
18:53:10b0hoonyeah PP is relict
18:53:51braewoodsi did a major favor to the users of the H100 and H300 series by taking on some risks to update the bootloader
18:53:57braewoodsit fixed some really nasty issues
18:54:29braewoodsmostly CF card compatibility issues
18:54:36b0hooni saw that, amazing job!
18:55:00braewoodsi also do an overhaul of the H300 bootloader so it could leverage the new H100 features
18:55:04braewoodslike boot from ROM
18:55:27braewoodsmost of the features for that were already implemented in the main firmware
18:55:39braewoodsthe eeprom settings store at least was 100% complete that i could tell
18:55:49braewoodsbut they never finished the bootloader redux to use it
18:56:13braewoodsprobably because they couldn't figure out what broke the bootloader
18:56:37braewoodsI found a trick to allow me to flash bad bootloaders until I finally found the culprit
18:56:57braewoodsturns out the bootloader's emergency boot into OF mode still worked
18:57:09braewoodsso I used the OF to restore the last known good bootloader
18:57:18braewoodslather rinse repeat
18:57:28braewoodsi traced it to and LCD optimization that broke the bootloader
18:58:17bertrikwow
18:59:43braewoodsi also had to totally refactor the iriver_flash plugin in order to allow flashing stuff from the h300
19:00
19:00:04braewoodsi broke it down and rebuilt it based on the original but removed bits that were no longer relevant
19:00:25braewoodssince i had to understand it in order to extend its support
19:00:51braewoodsbut now both units can go OF free if they want to
19:01:02braewoodsthe OF is useless anyway if you perform the CF mod
19:01:12braewoodsthere's no known way to make it work with CF cards
19:01:31braewoodsi tried using one that claimed to be a fixed disk IDE thing
19:01:38braewoodsand still didn't work so
19:01:44braewoodsi dunno what makes the OF reject CF cards
19:01:51braewoodsI just thought maybe it was being too picky
19:02:03braewoodsand could work with CF cards that fully emulate a HDD
19:08:39braewoodsbertrik: if you're bored, i added code to the disk info in debug menu that reports the 3 bits related to this.
19:08:48braewoodsremoveable, fixed, and CF compatible bits
19:09:03braewoodsonly for ATA targets though but i thought it might be helpful for CF modders
19:09:17braewoodsin the event some obscure port cares about these bit
19:09:19braewoodswe sure don't
19:09:55braewoodsbut CF cards report different values even in true IDE mode
19:10:10braewoodsi had some surprisingly reported fixed disk when i didn't expect it
19:13:49braewoods_bilgus: should we patch the code in the ADC for PP to be 0x30 instead of 30? it's clearly not intended that way
19:15:45 Quit Saijin_Naib (Ping timeout: 258 seconds)
19:30:17 Join ac_laptop [0] (~ac_laptop@186.2.247.129)
19:30:42braewoodsugh anyway when i get a chance i need to open up my dock so i can find out what hardware is inside
19:30:51braewoodsmight shed some light on what I need to do to get remotes to work
19:33:57 Join chris_s [0] (5fdf48b5@ip-95-223-72-181.hsi16.unitymediagroup.de)
19:36:14 Quit chris_s (Client Quit)
19:37:10 Join pamaury [0] (~pamaury@rockbox/developer/pamaury)
19:44:27 Quit pamaury (Ping timeout: 260 seconds)
19:49:04b0hooni have a dock station for HHD's but it's simple passthrough interface with the line out/in and some ir diode connected
19:50:39b0hoonfrom what i recall hdd6330 has an hardware issue with the i2c interface, so it won't work anyway on dock
19:51:23b0hoonit's more or less described on the wiki
19:52:34b0hoonbut you can try to play with it of course
19:57:21braewoodsb0hoon: it does work? i can use the remote in the OF
19:57:23braewoodsand such
19:57:54braewoodsb0hoon: and, IR diode?
19:58:04braewoodsi thought it was some IRDA chip
19:58:09b0hoonby remote you mean ir remote?
19:58:12braewoodsyes
19:59:09b0hoonyes that may work, probably this is the Cradle_REMOTE pin from the service manual, the OF has some code to interpret it iirc
19:59:37braewoodsi know
19:59:49braewoodsi wanted to disassemble my dock to see how it's generating said signal
19:59:58braewoodsi thought it might give me some clue of where to look
20:00
20:00:19braewoodsi'm starting to think though the cradle remote pin just signals an interrupt line
20:00:47b0hooni'm afraid you will have to disassemble the OF
20:00:47braewoodsbut there's 5 possible inputs from the key pad
20:01:18braewoodsso there's nothing useful in the dock?
20:01:31braewoodsis that what you're telling me?
20:01:33braewoodsfor the hdd gogears?
20:01:55braewoodsso then why does the cradle have an I2C bus switch?
20:02:02braewoodsit doesn't make sense to me
20:02:18b0hoonyes
20:02:37b0hooni may be wrong but the i2c is for something else
20:02:51braewoodsit's not specified so i can't be sure
20:02:59fs-bluebotBuild Server message: New build round started. Revision 13dbcab6c0, 298 builds, 10 clients.
20:03:12braewoodsonly logical reason is they expected to interface with external I2C chips
20:03:16b0hooni can dissaemble my dock again and tell you what's inside if you want
20:03:33braewoodsb0hoon: that would help. it's the one with the video out, audio out, dock connector, ?
20:03:48braewoodsi also have another version that came with my HDD1635s
20:03:53b0hoonwait a sec i don't remember really :D
20:04:06braewoodsit should have 3 ports on the back
20:04:12braewoodsincluding the dock connector in the middle
20:04:14braewoodserr
20:04:16braewoodsnot including
20:04:33braewoodsi also noticed the dock consumes 0 power when connected to DC power in the back
20:04:48braewoodsso it doesn't get its power from that
20:05:00braewoodsmust get any power from the docked unit
20:05:37braewoodseither that or the dock's power consumption is less than 0.01A
20:05:46braewoodsin which case it probably wouldn't register
20:07:08***Saving seen data "./dancer.seen"
20:07:39b0hoongod...sorry i can't find it.
20:07:54braewoodsb0hoon: it's ok
20:08:22braewoodsbut i need to know for myself how the cradle works to have any hope of knowing where it could possibly be sending the signal
20:08:33braewoodsthe schematic doesn't tell me much
20:08:57braewoodsyou know the pin 17 is labeled differently in both HDD schemaics
20:09:03braewoodscradle remote for one
20:09:06braewoodsgpio4 for another
20:09:08b0hoonbut i'm 99% sure it had nothing but one resistor some ir diode and the rest was just connections of connectors
20:09:09braewoodsboth connect to same pin
20:09:25braewoodsso you think it just sends a pulse signal?
20:09:30braewoodsthat the diode sends?
20:09:38b0hoonmaybe this was a cheap fake
20:09:45braewoodsi see
20:09:49braewoodswell i'll see what i dig up
20:09:56braewoodsi have originals
20:10:02braewoodsthat i can tell anyway
20:10:10braewoodsone came with the gogear i bought
20:10:18braewoodsthe other is new old stock i haven't received yet
20:10:24braewoodsb0hoon: do you remember how it opens?
20:10:29braewoodsjust need to gently pry it out from above?
20:10:34b0hoonyes, i think it send a pulse signal
20:10:41b0hoonsent
20:10:45braewoodsthat would explain the PWM
20:10:55braewoodsbut
20:11:01braewoodsit's connected to a pin i don't know how to read
20:11:45b0hoonthere were two screws i think from the bottom
20:12:07b0hoonthat's why you will have to dig into OF disasm
20:12:10b0hoon:)
20:12:28braewoodsany tips? all i got was gibberish
20:12:48braewoodslol
20:14:31b0hoonwell no real tips, OF is written with some high level language for sure, 99% c++, so it's really even hard to find what you are looking for
20:15:25b0hoonIDA and fire...
20:16:33fs-bluebotBuild Server message: Build round completed after 814 seconds.
20:16:37fs-bluebotBuild Server message: Revision 13dbcab6c0 result: All green
20:23:29braewoodsthat's expensive
20:23:31braewoodsIDA
20:23:42speachygo for ghidra
20:24:07speachycan't comment on the relative feature set vs IDA but I've put to good use over the past couple of years
20:24:09b0hooni can send you my ida file from like 5 years ago, maybe you can find something useful in it
20:24:41speachyhttps://ghidra-sre.org/
20:25:51braewoodsspeachy: if there's a PWM input on a PP how might one read it?
20:26:02braewoodsit might help me narrow down what i'm looking for
20:26:07braewoodsthe OF is like 7MB
20:26:12braewoodsthat's a fair amount of data to go through
20:26:36speachyI guess it depends on what sort of input wizardry the PP has to offer on those pins
20:26:36braewoodsbut that's what the schematic appears to be saying
20:26:45braewoodswhich we have no datasheet for
20:27:00braewoodsso there's no way to know what the PWM pin does
20:27:14speachythe naive approach is to use the input to trigger an interrupt on an edge
20:27:38speachy(well, really naive approach is to tightly poll the pin to see what's going on...)
20:27:41braewoodsspeachy: that seems to be what they do here. the remote control pin is connected to the remote_int line
20:27:56braewoodsyou want to read the schematic too?
20:28:08braewoodshttps://www.rockbox.org/wiki/pub/Main/GoGearHDD6330/Philips_HDD6320_HDD6330_Service_Manual.pdf
20:28:11braewoodsback of the manual
20:28:30speachylooking at the PWM signal with a logic analyzer would be a good idea
20:29:00braewoodsi would need to be able to poke the pins...
20:29:08braewoodswhich means i'd probably need a unit open to do that
20:29:20speachyc'est la vie
20:29:55braewoodsthat still won't tell me how to read it from software
20:29:59braewoodsbut
20:30:09braewoodsgiven that it is connected to PWM
20:30:13braewoodsit's probably a pulse
20:30:16speachyone trick I've used in the past is to look for a UI string in the firmware dump, and backtrace from that −− find referencs to that string, and work backwards until you find the code that triggers it.
20:30:30braewoodsit probably uses ASCII
20:30:33speachythere's not much point in worrying how to read it until you know what "it" is
20:30:54braewoodsthe unit has two PWM lines
20:30:58speachyit might be a single pulse. it might be a timed sequence. who knows...
20:31:01braewoodsone is already in use to control the LCD backlight
20:31:24speachyPWM output, sure. but _input_ is another matter.
20:31:28b0hoonbraewoods: yes, that's a lot of code , i have some functions marked as dock code in it, so if you want let me know
20:31:40braewoodscan ghidra even use it?
20:31:44braewoodso.O
20:31:57speachyoften one ends up using decidated hw timer peripherals to measure the pulses
20:31:57b0hoondon't know :O
20:32:19speachyif the image is compessed/encrypyed, no.
20:32:32braewoodsright, i need to decrypt the raw binary first
20:32:35braewoodsi already figured out how to do that
20:32:43braewoodsassuming mi4code is the right tool
20:32:51braewoodsi found the key in our existing rockbox code
20:33:38speachybut if it's a straight dump of what the CPU would be reading, then sure, ghidra can work with it. you'll need to tell it it's a raw ARMv4T (little endian) image, maybe point at the enry point (reset vector is one of the first words in the image; #2 maybe?) to get things started
20:34:02speachybut this sort of stuff has a _very_ steep learning curve.
20:34:32speachyeven with IDA or ghidra one has to know a lot about the low-level architecture
20:35:42speachybut with either you can look for static accesses to certain address ranges (eg gpio control/status) and work back from there..
20:38:41b0hoonbraewoods: the code is so messed up by the compiler that you will probably walk for a beer
20:39:18b0hoon;)
20:41:16 Join massiveH [0] (~massiveH@ool-18e4e82f.dyn.optonline.net)
20:42:23braewoodsspeachy: what would you recommend if i wanted to check the signals?
20:42:56braewoodsi could disassembly the cradle and see what it does on the pins
20:43:12braewoodsprobably easiest way to access the raw pins
20:44:14speachyI mean, there are cheapie logic analyzers to be had
20:45:18braewoodsok..
20:46:54b0hoonyeah logic analyzer would be the simplest solution.
20:47:39braewoodsi'll look into it later, i think i'm going to have to see what it's doing
20:48:02braewoodsbut yea, I2C would be overkill for something this simple
20:52:00speachybut yeah, you're at the point where you're going to need more specialized tools
20:54:49braewoodsi'll looked into it when i get paid again
20:54:52braewoodsi'm tapped out for now
20:55:02braewoodsuntil then i see no harm in looking through the OF
20:55:45braewoodsobjdump seems to do a terrible job for disassembling raw binary
20:55:47braewoodsthough
20:57:22braewoodsi tried that first
20:57:22braewoodsspeachy: i'll try what bilgus said if my other efforts don't go anywhere
20:57:22braewoodspocket oscilloscope
20:57:22DBUGEnqueued KICK braewoods
20:57:22braewoodsbut hm
20:57:22braewoodsto decode a PWM signal...
20:57:24braewoodsyea... the ADC may be involved
20:57:28braewoodsbut in what way?
20:57:39braewoodsa pulse is an analog signal
20:57:57 Quit daswf852 (Quit: Ping timeout (120 seconds))
20:58:27braewoodsjust didn't seem likely to me originally since the ADC isn't even connected other than to the remote jack line
20:58:40braewoodsit's constantly pulled high according to the ADC readout
20:58:43braewoodsand schematic
20:59:08braewoodsbut the ADC1 line has no known use otherwise so
20:59:19braewoodsthere should be no harm in tinkering with it
20:59:24braewoodsi'll investigate ADC first
20:59:32braewoodsusing the known one we use for battery reding
20:59:40braewoodsthat one is super simple so it should be easy to find in the OF
20:59:59speachyobjdump does disam just fine, but what it won't do is give a stripped raw binary structure
21:00
21:00:53b0hoonbear in mind that this schematic may be not even the production one, this is leak
21:01:14braewoodsindeed but it's better than nothing
21:01:24b0hoonsure
21:02:23braewoodsi also plan to look into supporting TV out in rockbox, basically mirroring the LCD like we do for remotes
21:02:35braewoodsi have 2 different ports that support it
21:02:39braewoodsnot ipods even
21:02:40speachyit's also highly doubtable that Philips has this information any more
21:02:55braewoodsand even if they did they wouldn't help me i'm sure
21:03:14braewoodsso i'm not even going to ask
21:03:26speachyassuming it was actually directly made by a division of Philips instead of just licensing the brand
21:03:35speachy(though I suppose given the age it progbably was)
21:03:49speachy(in any case, that division hasn't existed for a _long_ time)
21:04:00b0hooni've asked for it once.. or twice...
21:04:24braewoodswe generally can't expect help from the people we're trying to reverse engineer
21:04:31braewoodslol
21:06:27b0hooni've asked NVIDIA for documentation, nicely ... I've received some response even. NOPE
21:06:42speachy(I actually work for Philips now. So I can't really say all that much one way or another. But if anyone has a name I can use as a starting point I can do some internal inquiries)
21:07:12speachynVidia is infamously awful when it comes to documentation.
21:08:52braewoodsspeachy: https://gerrit.rockbox.org/r/#/c/rockbox/+/3316/
21:08:56braewoodscan you approve this?
21:09:04braewoodsi found a logic error or one that looks awfully like one
21:09:44braewoodsi found it earlier when bilgus was trying to help me
21:09:51speachybraewoods: 10d might actually be correct
21:10:11braewoodsreally? why does the rest of it use 0x?
21:10:30speachyok, looking at the other context, I see that
21:10:44speachy(I've seen a lot of wierd crap over the years...)
21:10:50speachy(I've been responsible for some of it)
21:10:52braewoodsi looked at the pattern of the surrounding code
21:10:57braewoodsso i assumed it was a mistake
21:11:12braewoods0x3
21:11:14braewoodsthen 30
21:11:18braewoodsthen 0x300
21:11:20braewoods0x3000
21:11:22braewoodsso
21:11:25braewoodsyea
21:11:28braewoodsi assume it works the same
21:11:30speachyso, has this been smoke tested to ensure it doesn't cause a regression?
21:11:43braewoodswell i tested it with my hdd6330
21:11:52braewoodsbut i honestly can't test them all
21:12:50speachygiven that it's unknown it's possible it could trigger a sideeffect somewhere else, etc etc.. but you've shown that it doesn't immediately set your device on fire so that's a good sign.
21:13:06braewoodsbut if it causes problems it'd probably be with the battery stuff
21:13:16fs-bluebotBuild Server message: New build round started. Revision 448f98d9c0, 298 builds, 10 clients.
21:13:24braewoods30 is...
21:13:38braewoods0b11110
21:13:46braewoods0x1e
21:13:47speachy0x1e
21:14:00braewoodsit overlaps mostly with the battery
21:14:03braewoodsand partialy with itself
21:14:17speachycoudl explain some of the wonky battery stuff reported.
21:14:36speachy(that's never really reproducible on known-sane hardware...)
21:14:56braewoodsold batteries could cause weird issues too
21:15:02braewoodsi've seen it a few times
21:15:41braewoodsbut if it does cause issues we'll hear complaints about battery reporting
21:15:51braewoodsbut that's the only thing i can see happening
21:16:03braewoodsthe old bit pattern only overlapped with the battery low bits
21:20:41 Quit ZincAlloy (Quit: Leaving.)
21:21:20speachyI'm more concerned with something different; eg the ADC is suddently "working" and triggering a code path that clearly hasn't ever actually worked before
21:21:55braewoodsoh
21:21:59braewoodsi see
21:22:07braewoodsi'll test it on my H10 once I get it back from bilgus
21:22:34speachy"correct" != "works"
21:22:42braewoodslmao
21:22:50braewoodsi know, mostly due to hardware bugs
21:23:07braewoodsbut we should try the correct way whenever possible
21:23:10speachyor a decade's worth of incorrect assumptions.
21:23:52braewoodsin all honestly it looked like it should be this way. if they really meant to use the base 10 bit pattern they shoulda used a different one
21:24:32speachyI agree
21:24:59 Part b0hoon
21:25:02braewoodsour PP ports work quite well in spite of having no data sheets for the main cpu
21:25:09fs-bluebotBuild Server message: Build round completed after 713 seconds.
21:25:11fs-bluebotBuild Server message: Revision 448f98d9c0 result: All green
21:25:29braewoodsspeachy: is there a reason the mi4code utility isn't in our git tree?
21:25:44braewoodsi think we should add it to tools so we don't lose it
21:25:54braewoodswould you accept it if I added it?
21:26:19braewoodswe already have part of it in our code anyway
21:26:22braewoodsthis is just the complete tool
21:26:28speachylicense?
21:27:07braewoodsjust a copyright notice in the source file...
21:27:09braewoodslet me look elsewhere
21:27:25braewoodsno license given
21:27:39speachywhich means we can't accept it.
21:27:46braewoodshttps://daniel.haxx.se/sansa/mi4code.c
21:27:50braewoodsfair enough
21:27:55braewoodsI guess i can just keep a private copy
21:29:57speachybagder might be able to provide more info on this, but it's ultimately in MrH's hands.
21:30:24braewoodsis that Daniel Stenberg?
21:30:29braewoodsseems to own the domain
21:31:53braewoodsI'll email him and see if he knows anything.
21:31:56speachyyep
21:32:07braewoodsI want to ask if we can get an official license so we can include it.
21:32:20braewoodswe'd like to archive it in case we need it for something
21:32:35braewoodsand maintain it to a lesser degree
21:32:38speachyhis whole site should be archived
21:53:30braewoodsfound something in the strings
21:53:39braewoodsstartmainui: registerKey: remoteVolUpKey
21:53:48braewoodsthat seems promising
21:53:52braewoodsa debug thing probably
21:54:24braewoodsi decided to run strings on the dump first
21:54:29braewoodssee if i found anything interesting
22:00
22:06:03braewoodsthis reminds me of when i used to dig into linux source code to see if hardware was supported
22:06:31 Quit dconrad ()
22:07:10***Saving seen data "./dancer.seen"
22:17:40_bilgusbraewoods, did you try that pastebin code that dtps through the unknown bits?
22:18:00_bilgussteps*
22:18:34braewoods_bilgus: erm. that only set it once?
22:18:42braewoods_bilgus: i don't recall you giving me anything else
22:18:48_bilgusoh
22:19:13braewoodsin any case i've been trying to examine the decrypted OF
22:19:24braewoodsyou want a copy?
22:19:34_bilgushttps://pastebin.com/nA1LjinE
22:19:56_bilgusthe OF won't help yet I want a dump of the memory of those registers
22:20:13_bilguslike when the OF has been working
22:20:54braewoodsi see
22:22:03_bilgusactually with some careful sleuthing you can intuit some things watching the registers switch, I see it has a jtag on that schema
22:22:36braewoodsindeed but i have no way to access it
22:23:09_bilgusopening the device will get you closer
22:23:38_bilgusat least then you might narrow down the mechanism
22:24:43braewoodshttps://dpaste.com/8E9Z7XES4
22:27:17_bilgusjust add ;
22:28:13_bilgusthe splash might be too early to not crash the player
22:28:28_bilgusin that case i'll re-work it a bit
22:29:57_bilgushmm I wonder if those PWM pins are actually the other two ADCs the other devices have
22:30:06_bilgusmaybe we are chasing the wrong ones
22:30:47_bilgusdoesn't seem like theyd multiplex those two functions on a single pin path
22:31:12braewoodsone problem with that theory
22:31:25braewoodsone of them is connected to the LCD backlight which we do have code for
22:31:29braewoodsbut it's an output
22:31:42braewoodsaren't ADCs always inputs?
22:31:48_bilguswell you have the address so go up or down 32 bits
22:32:10_bilgusand PWMs are *almost* always outs
22:32:46_bilgusI can't see why you'd do some weird stuff with reading PWM levels when you can just use an adc
22:33:09braewoodsanyway i'll run the code you asked me to
22:33:23_bilgusand I'm not sure its even possible I've never seen one that wasn't std gpio when an input
22:33:41_bilgusbut...
22:35:24 Join f1reflyylmao [0] (~f1refly@dynamic-077-003-043-006.77.3.pool.telefonica.de)
22:36:09braewoodsbtw you used splash instead of splashf
22:36:45braewoodsanyway
22:36:52braewoodstime to run this
22:37:41 Quit f1refly (Ping timeout: 240 seconds)
22:37:42 Nick f1reflyylmao is now known as f1refly (~f1refly@dynamic-077-003-043-006.77.3.pool.telefonica.de)
22:43:56braewoods_bilgus: nothing that i can tell
22:45:08braewoods80000000?
22:45:17braewoodswas it meant to be 0x80000000?
22:49:59_bilgusit stops at 0x8000000
22:50:04_bilgusdid it splash
22:50:07braewoodsno
22:50:30_bilgusthen the adc never changed i assume you went to the debug menu
22:50:36braewoodsyea
22:50:40braewoodsi waited a bit
22:50:45braewoodsit changed but stayed about 3f0
22:51:03_bilgusoh you need to hold the remote button
22:51:11braewoodsi just tapped it
22:51:13_bilguslike the vol up something that repeats
22:51:14braewoodsis that the problem?
22:51:32braewoodsok i'll try that instead
22:51:36_bilgusyeah just hold it incase you miss it while it scans
22:54:18braewoodsi held the button but nothing
22:54:25_bilgusand probably from the time it boots it will take a bit like probably 1 minute
22:54:45braewoodsyou want me to boot it up again and wait longer?
22:54:49_bilgusoh well I'm out of ideas then
22:55:01_bilgusmaybe its something weird
22:55:55braewoodsi'll wait a bit then
22:56:50_bilgusidk I think a pocket oscope would probably do ya some good like 50-100 mhz is ok..
23:00
23:02:03_bilgusmine is a 'portable' from 1980ish
23:02:18_bilgusit weighs 35 lbs so its portable lol
23:02:55_bilgusits 100 MHZ and I can count maybe 2x that it wasn't adequate
23:03:12_bilgusthough it is a 4 chan scope
23:03:47_bilgusbut i've been eyeing those pocket scopes itd come in handy in the garage
23:04:59_bilguslike the missing shielding on a CPS sensor causing spurious signals lol I caught that one with the scope strapped to the hood with a power inverter
23:26:10 Join daswf852 [0] (~daswf852@unaffiliated/dwf)
23:30:59braewoods_bilgus: i decided to try enabling all the AIN lines
23:31:02braewoodsinteresting results
23:31:07braewoodsthe 4th channel is always 0
23:31:14braewoodsthe 3rd channel is jumping around
23:36:18 Join Saijin_Naib [0] (~Saijin_Na@2603-7081-1d05-7230-14ba-5001-4fff-7f89.res6.spectrum.com)
23:56:33 Quit prg3 (Quit: ZNC 1.8.2 - https://znc.in)

Previous day | Next day