00:14:22 | | Quit ac_laptop (Ping timeout: 246 seconds) |
00:24:40 | *** | Saving seen data "./dancer.seen" |
01:00 |
01:20:27 | | Join ZincAlloy [0] (~Adium@ip5f5acf9f.dynamic.kabel-deutschland.de) |
01:25:12 | | Quit ZincAlloy (Ping timeout: 272 seconds) |
01:41:35 | | Join ZincAlloy [0] (~Adium@2a02:8108:943f:d824:657f:3454:e9da:6260) |
01:46:23 | | Quit ZincAlloy (Ping timeout: 272 seconds) |
02:00 |
02:24:41 | *** | Saving seen data "./dancer.seen" |
02:28:54 | | Quit paulk-leonov (Ping timeout: 240 seconds) |
02:29:09 | | Join paulk-leonov [0] (~paulk-leo@vpn-0-22.aquilenet.fr) |
02:30:10 | | Quit jdarnley (Ping timeout: 258 seconds) |
02:32:35 | | Join J_Darnley [0] (~J_Darnley@d51A44418.access.telenet.be) |
02:56:30 | | Quit amiconn (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
02:56:30 | | Quit pixelma (Quit: .) |
02:59:20 | | Join amiconn [0] (jens@rockbox/developer/amiconn) |
02:59:20 | | Join pixelma [0] (marianne@rockbox/staff/pixelma) |
03:00 |
03:54:46 | | Quit dys (Ping timeout: 256 seconds) |
04:00 |
04:17:55 | | Join petur [0] (~petur@80.169.83.226) |
04:17:55 | | Quit petur (Changing host) |
04:17:55 | | Join petur [0] (~petur@rockbox/developer/petur) |
04:24:43 | *** | Saving seen data "./dancer.seen" |
05:00 |
05:06:41 | | Join pamaury [0] (~pamaury@rockbox/developer/pamaury) |
06:00 |
06:24:45 | *** | No seen item changed, no save performed. |
06:29:14 | | Quit __Bilgus_ (Ping timeout: 245 seconds) |
07:00 |
07:52:56 | | Quit michaelni (Ping timeout: 258 seconds) |
08:00 |
08:05:34 | | Join michaelni [0] (~michael@213-47-68-29.cable.dynamic.surfer.at) |
08:24:46 | *** | Saving seen data "./dancer.seen" |
08:35:45 | | Join massiveH [0] (~massiveH@ool-18e4eaeb.dyn.optonline.net) |
09:00 |
09:10:31 | | Quit Marex (Quit: leaving) |
09:13:09 | | Join ac_laptop [0] (~ac_laptop@186.2.247.129) |
09:36:13 | | Quit pamaury (Ping timeout: 264 seconds) |
09:48:34 | | Join dys [0] (~dys@2003:5b:203b:100:a64c:c8ff:fef4:13a6) |
10:00 |
10:24:48 | *** | Saving seen data "./dancer.seen" |
10:26:37 | | Quit massiveH (Quit: Leaving) |
10:56:55 | | Nick galaxy_knuckles is now known as prontoo (~gknux@unaffiliated/galaxy-knuckles/x-1756549) |
10:57:23 | | Nick prontoo is now known as pornto (~gknux@unaffiliated/galaxy-knuckles/x-1756549) |
11:00 |
11:01:28 | | Join advcomp2019 [0] (~advcomp20@65-131-152-203.sxct.qwest.net) |
11:01:28 | | Quit advcomp2019 (Changing host) |
11:01:28 | | Join advcomp2019 [0] (~advcomp20@unaffiliated/advcomp2019) |
11:03:46 | | Join krabador [0] (~krabador@unaffiliated/krabador) |
11:05:01 | | Quit advcomp2019_ (Ping timeout: 264 seconds) |
11:17:40 | | Join jdarnley [0] (~J_Darnley@d51a44418.access.telenet.be) |
11:20:42 | | Quit J_Darnley (Ping timeout: 258 seconds) |
11:29:16 | | Nick pornto is now known as galaxy_knuckles (~gknux@unaffiliated/galaxy-knuckles/x-1756549) |
11:36:31 | | Quit petur (Quit: Connection reset by beer) |
11:55:25 | | Quit krabador (Ping timeout: 264 seconds) |
11:57:07 | | Quit textmate (Quit: brb) |
12:00 |
12:08:29 | | Join ZincAlloy [0] (~Adium@ip5f5acf9f.dynamic.kabel-deutschland.de) |
12:13:20 | | Quit ZincAlloy (Ping timeout: 256 seconds) |
12:24:50 | *** | Saving seen data "./dancer.seen" |
12:29:47 | | Join ZincAlloy [0] (~Adium@2a02:8108:943f:d824:5dc5:2452:fc0f:6395) |
12:34:55 | | Quit ZincAlloy (Ping timeout: 272 seconds) |
12:38:46 | | Join J_Darnley [0] (~J_Darnley@d51a44418.access.telenet.be) |
12:41:06 | | Quit jdarnley (Ping timeout: 256 seconds) |
13:00 |
13:14:18 | | Join lebellium [0] (~lebellium@89-92-253-148.hfc.dyn.abo.bbox.fr) |
13:39:53 | fs-bluebot | Build Server message: New build round started. Revision 5b8198d, 294 builds, 10 clients. |
13:55:51 | fs-bluebot | Build Server message: Build round completed after 958 seconds. |
13:55:52 | fs-bluebot | Build Server message: Revision 5b8198d result: 4 errors 0 warnings |
13:57:05 | | Quit dys (Ping timeout: 244 seconds) |
14:00 |
14:11:18 | | Join sakax [0] (~r0b0t@unaffiliated/r0b0t) |
14:11:30 | speachy | interesting failure. more gcc10 fallout. |
14:14:24 | | Join ZincAlloy [0] (~Adium@ip5f5acf9f.dynamic.kabel-deutschland.de) |
14:16:25 | fs-bluebot | Build Server message: New build round started. Revision 4fa57d7, 294 builds, 10 clients. |
14:24:51 | *** | Saving seen data "./dancer.seen" |
14:25:59 | | Join pamaury [0] (~pamaury@rockbox/developer/pamaury) |
14:34:45 | fs-bluebot | Build Server message: Build round completed after 1101 seconds. |
14:34:47 | fs-bluebot | Build Server message: Revision 4fa57d7 result: All green |
14:38:03 | mendel_munkis | speachy I am considering installing a rockbox toolchain on a new machine. is it better to wait for the new toolchain? |
14:41:12 | speachy | depends on what you want to be debugging. :) |
14:41:54 | speachy | there are no known regressions with the new toolchain now |
15:00 |
15:04:48 | mendel_munkis | what changes would I have to make to rbdev.sh to use the new toolchain? |
15:07:44 | speachy | apply g#2305 |
15:07:46 | fs-bluebot | Gerrit review #2305 at http://gerrit.rockbox.org/r/2305 : Build: Bump all toolchains to GCC 4.9.4 + Binutils 2.26.1 by Solomon Peachy |
15:07:57 | mendel_munkis | alright thanks |
15:08:51 | speachy | I _think_ the fuze+ builds warning-free |
15:31:43 | efqw_ | I've been tinkering with the FiiO M3K lately, is there anyone who's interested in porting rb properly to this device? Unfortunately porting is sadly beyond my ability right now, but I did some groundwork to the maximum extent of my abilities and will put all the info I have into the wiki once I get access. |
15:32:05 | efqw_ | I took some internal pictures, wrote some disassembly instruction, and identified all of the chips they have in this device (along with all of the datasheets) in hope that this will help someone to get started with a port. |
15:33:04 | speachy | the m3k is another hiby-based one. it should be pretty easy to port. |
15:33:29 | efqw_ | This device is very similar to the AGPTEK ROCKER in terms of hardware spec (no radio, X1000E instead of X1000, different I2S DAC, same PMU, I2C touch controls instead of a D-PAD). |
15:34:03 | speachy | well, the xvortex port supposedly works but no sources. :/ |
15:34:58 | efqw_ | It's not actually a hiby-based player, I believe this is from a different OEM because the rootfs and general software setup look very different than the hiby stuff. |
15:36:43 | efqw_ | First of all, the UI toolkit is different, the FiiO one is using MiniGUI (source from fiio is available on github) instead of LiteGUI like the hiby stuff does. |
15:36:54 | speachy | efqw_, there should be an email waiting in your inbox with a new password. Or at least the wiki claims it sent it. |
15:37:48 | efqw_ | I have no emails unfortunately (checked the spam as well) |
15:40:10 | efqw_ | Additionally, this device is using X-Loader instead of U-Boot, and system updates are performed with a recovery partition instead. |
15:41:03 | efqw_ | Firmware packages are split into ~1MB chunks and signed individually with apksign, and then zipped together along with a manifest file. |
15:42:05 | speachy | as long as it's a mostly-standard linux load, we can continue to use SDL on top of the linux framebuffer |
15:42:22 | speachy | alsa for audio, normal linux input subsystem, etc |
15:43:07 | efqw_ | This setup is drastically different from the hiby stuff, where the .upt file is an ISO9660 volume and the blobs are not signed. |
15:43:27 | efqw_ | Yes, it's a mostly standard Linux setup, and it already uses ALSA for audio. |
15:43:29 | speachy | is it running an android kernel? |
15:44:00 | efqw_ | No, it's the ingenic 3.10.14 kernel. |
15:44:11 | speachy | efqw_, the email went out again a few minutes ago |
15:44:22 | efqw_ | Ah got it now |
15:48:04 | speachy | does the m3k's touch controls have any sort of tactile feedback? is that center strip ridged? |
15:48:33 | efqw_ | FiiO has published the M3K kernel source on github as well if anyone is interested in reading it. |
15:49:12 | efqw_ | speachy: the touchpad has no tactile feedback and the entire front is a solid piece of glass |
15:49:41 | efqw_ | and the device has no vibration motors or other mechanisms for providing tactile feedback |
15:49:43 | speachy | that'll make it nearly impossible to operate without looking. :/ |
15:50:32 | efqw_ | The touchpad is controlled by an FT6236U, which is an I2C touchscreen controller. |
15:50:57 | speachy | mapped to the standard linux input API, hopefully |
15:51:25 | efqw_ | I have no idea how the strip and 4 touch buttons are set up however. Some help on figuring that out would be highly appreciated. |
15:52:11 | efqw_ | I can't do the port myself but I have a disassembled device with UART console that I can do pretty much anything to. |
15:53:09 | | Join petur [0] (~petur@rockbox/developer/petur) |
15:54:06 | efqw_ | With Ingenic's USB Cloner tool, the entire flash can be overwritten without disassembling the device. I have already tried erasing the entire NAND and flashing back my own NAND dumps and it worked perfectly fine. |
15:54:58 | speachy | so we don't need to deal with signed anything, in theory..? |
15:55:29 | efqw_ | Yes, but only if the rb community accepts using a proprietary tool as a solution. |
15:56:34 | efqw_ | The cloner has Linux and Windows versions, I have only tested the Windows version in a win7 vm so far. The USB driver is just libusb. |
15:57:38 | speachy | question is does it interact with some sort of boot rom or does the tool effectively load in custom code that does the flashing (eg acting like a typical jtag pod) |
16:00 |
16:00:53 | efqw_ | From what I can see, it loads a ~6kB u-boot SPL into the memory which does memory initialization, and then loads a pre-built u-boot binary, and this is what interacts with the cloner device from now on. |
16:01:39 | speachy | that makes sense. |
16:03:59 | efqw_ | So we can replace the bootloader with u-boot or even re-partition the NAND in theory, but I'm not sure if that's worth the effort to be honest. |
16:04:35 | speachy | nope |
16:06:08 | efqw_ | Either way, imo this is a low-hanging fruit that someone with the right expertise could port it with very little effort. |
16:06:16 | speachy | offhand do you know of any others sharing the same software architecture as this thing? |
16:07:15 | efqw_ | The new M3 Pro from FiiO is pretty darn similar. I don't have the device but I did take a peek at their firmware. |
16:09:23 | efqw_ | FiiO M5 also has the same X1000E SoC, and it's got a Bluetooth radio, but the battery is very small and imo not worth the effort to port to for now. |
16:10:03 | efqw_ | M3K was pretty much the cheapest X1000E device I could find on the market with decent build quality. |
16:11:40 | efqw_ | By "not worth the effort" I meant this could be put after the M3K port, because all of the Ingenic FiiO devices are pretty similar in terms of software setup. |
16:15:36 | efqw_ | M3K is a good starting point imo because it's the cheapest device (assuming decent hardware build quality is desired) in this lot, so it's much easier for anyone who's interested to purchase this device. I'm not just saying this because I have the device btw, I'll be okay with doing the same prep work I did on the M3K for the M3 Pro if someone is interested in playing with that device instead. |
16:16:19 | speachy | I'm disappointed that everything's going down the touch-screen path again.. |
16:18:02 | efqw_ | Same, I personally don't really like the touch controls, imo this gets rid of a feature that most people want when buying a dedicated DAP: tactile physical buttons. However, this is not a total deal breaker for me. |
16:18:24 | speachy | missed my window to get an x3ii for relatively cheap. d'oh. |
16:20:41 | speachy | oh wow, the SoC in the xduoo x2 has an 8051-derived processor core. |
16:21:54 | efqw_ | speachy: Is there anything else that would be helpful to figure out without extensive programming knowledge? I know keycodes would be important, but I have no idea where to start from. |
16:24:27 | speachy | efqw_, try this: https://thehackerdiary.wordpress.com/2017/04/21/exploring-devinput-1/ |
16:24:52 | *** | No seen item changed, no save performed. |
16:26:11 | efqw_ | I found this: https://github.com/FiiOapp/FiiO_Kernel_M3K/blob/master/arch/mips/xburst/soc-x1000/chip-x1000/halley2/common/keyboard_gpio.c |
16:27:55 | speachy | the steps in that hackerdiary link will tell us how the OS reports input events; you can punch the "buttons" one at a time and correlate it with the events |
16:29:02 | efqw_ | I happen to know this is probably the config they actually used because I diffed the fiio kernel and ingenic's bsp kernel. |
16:29:59 | efqw_ | This is the keyboard related file with the largest amount of new content for HALLEY2 on the FiiO side. |
16:31:17 | speachy | having (hopefully complete) kernel sources will make it easier to fix problems under the hood. it also makes it a lot easier to scrap the entire linux loadout and go bare-metal. |
16:31:54 | speachy | but the product lifecycles are so short now that by the time anything is working the supply will have dried up |
16:33:05 | efqw_ | This is why I highly recommend sticking with the existing Linux installation and just run rb on top of it. |
16:33:16 | speachy | it's the only sane path forward, yeah. |
16:36:27 | efqw_ | They have ALSA, working PMU drivers, existing kernel modules for dwc2, usb composite, usb serial, usb mass storage and even usb audio (all gadget of course), and most importantly, working LCD driver. |
16:39:32 | | Join advcomp2019_ [0] (~advcomp20@65-131-182-159.sxct.qwest.net) |
16:39:32 | | Quit advcomp2019_ (Changing host) |
16:39:33 | | Join advcomp2019_ [0] (~advcomp20@unaffiliated/advcomp2019) |
16:40:14 | efqw_ | I've also been trying to figure out what the "libfiio.so" library does and whether we can get rid of it for a rb-only version. |
16:41:03 | speachy | grab it off the player and put it up somewhere or mail it to me or something |
16:41:18 | speachy | I can at least give you a high-level dump of what it has in it |
16:41:29 | efqw_ | It at least handles media decoding which is not useful for rb (you'll get ffmpeg if you do `strings libfiio.so`) |
16:42:02 | efqw_ | I can provide the instructions to extract the image, would that be more helpful? |
16:42:04 | | Quit advcomp2019 (Ping timeout: 246 seconds) |
16:42:28 | speachy | but does it do any hardware/config manipulation, ala the hiby system daemon that switches audio inputs, controls bluetooth, etc etc.. |
16:43:36 | efqw_ | fiio has a player_daemon binary instead |
16:43:42 | efqw_ | it's only around 7kb |
16:43:47 | efqw_ | *KB |
16:46:34 | efqw_ | http://fiio-firmware.fiio.net/M3K/M3K_1.4.3/M3K.fw |
16:46:45 | efqw_ | This is the latest stock fw from FiiO. |
16:50:59 | efqw_ | It's a simple zip archive that you can extract, go to the extracted recovery-update/nand folder and batch extract every single archive into their own folders, then do `cat update*/update*/system.ubi_* > system.ubi`, and finally you'll be able to extract the resulting UBI image with ubireader. |
16:53:21 | efqw_ | Both the player and player_daemon executables under /usr/project/bin are NOT stripped, which will be very helpful for someone who know what they're doing. |
16:53:26 | | Quit koniu (Remote host closed the connection) |
16:53:55 | | Join koniu [0] (~koniu@gateway/tor-sasl/koniu) |
16:54:14 | efqw_ | Everything I've mentioned here will be uploaded on the wiki at some point. |
16:54:40 | efqw_ | Except the fiio stock fw which I have no right to redistribute. |
17:00 |
17:10:27 | efqw_ | From my understanding the `player_daemon` binary is a simple supervisor application to restart the `player` in case it crashes. |
17:13:31 | | Quit koniu (Remote host closed the connection) |
17:13:55 | | Join koniu [0] (~koniu@gateway/tor-sasl/koniu) |
17:18:00 | efqw_ | /dev/input/event0 is the touchpad and /dev/input/event1 are the buttons. |
17:35:08 | | Quit lebellium (Quit: Leaving) |
17:35:56 | | Quit michaelni (Quit: Leaving) |
17:36:43 | | Join michaelni [0] (~michael@213-47-68-29.cable.dynamic.surfer.at) |
18:00 |
18:04:41 | | Join S|h|a|w|n [0] (~shawn156@unaffiliated/shawn156) |
18:04:41 | | Join MonTaGaTnoM [0] (~shawn156@unaffiliated/shawn156) |
18:07:15 | | Quit MonTaGaTnoM (Client Quit) |
18:20:22 | efqw_ | https://www.rockbox.org/wiki/FiioM3K is now a thing. This page will be continuously updated this week until I can dump all the info I have onto the page. |
18:24:55 | *** | Saving seen data "./dancer.seen" |
18:28:19 | speachy | awesome! thank you! |
18:32:07 | | Quit petur (Quit: Leaving) |
18:32:30 | | Quit Huntereb (Quit: See ya!) |
18:34:39 | | Join Huntereb [0] (~Huntereb@d-69-161-102-241.va.cpe.atlanticbb.net) |
18:37:07 | | Join Oksana [0] (~Wikiwide@Maemo/community/ex-council/Wikiwide) |
18:45:02 | | Quit ZincAlloy (Quit: Leaving.) |
18:55:46 | | Quit Huntereb (Ping timeout: 246 seconds) |
18:55:58 | efqw_ | Datasheet links and disassembly instructions have been updated. |
18:59:43 | | Quit sakax (Quit: Leaving) |
19:00 |
19:00:40 | | Join krabador [0] (~krabador@unaffiliated/krabador) |
19:03:46 | | Quit ac_laptop (Ping timeout: 258 seconds) |
19:13:58 | | Join Huntereb [0] (~Huntereb@d-69-161-102-241.va.cpe.atlanticbb.net) |
19:15:30 | | Quit pamaury (Ping timeout: 256 seconds) |
19:19:19 | | Quit Huntereb (Quit: See ya!) |
19:19:30 | | Join Huntereb [0] (~Huntereb@d-69-161-102-241.va.cpe.atlanticbb.net) |
19:22:10 | | Quit Huntereb (Read error: Connection reset by peer) |
19:23:22 | | Join Huntereb [0] (~Huntereb@d-69-161-102-241.va.cpe.atlanticbb.net) |
19:25:03 | | Quit Huntereb (Read error: Connection reset by peer) |
19:28:57 | | Join Huntereb [0] (~Huntereb@d-69-161-102-241.va.cpe.atlanticbb.net) |
19:33:34 | | Quit Huntereb (Read error: Connection reset by peer) |
19:34:14 | | Join Huntereb [0] (~Huntereb@d-69-161-102-241.va.cpe.atlanticbb.net) |
19:43:30 | | Quit krabador (Remote host closed the connection) |
19:44:01 | | Quit Huntereb (Ping timeout: 264 seconds) |
20:00 |
20:24:56 | *** | Saving seen data "./dancer.seen" |
20:25:10 | | Join Huntereb [0] (~Huntereb@d-69-161-102-241.va.cpe.atlanticbb.net) |
20:38:19 | | Quit Huntereb (Quit: See ya!) |
20:39:43 | | Join Huntereb [0] (~Huntereb@d-69-161-102-241.va.cpe.atlanticbb.net) |
20:53:31 | | Quit Huntereb (Quit: See ya!) |
20:55:09 | | Join Huntereb [0] (~Huntereb@d-69-161-102-241.va.cpe.atlanticbb.net) |
21:00 |
21:08:30 | | Join jdarnley [0] (~J_Darnley@d51a44418.access.telenet.be) |
21:11:37 | | Quit J_Darnley (Ping timeout: 264 seconds) |
21:12:14 | | Join ac_laptop [0] (~ac_laptop@186.2.247.129) |
21:12:35 | | Join J_Darnley [0] (~J_Darnley@d51A44418.access.telenet.be) |
21:15:49 | | Quit jdarnley (Ping timeout: 264 seconds) |
21:50:46 | efqw_ | Internal photos has been updated as well. |
21:53:58 | speachy | Heads-up: I'm going to take down gerrit for a little while to do some upgrade experiments. |
22:00 |
22:25:01 | *** | Saving seen data "./dancer.seen" |
22:36:34 | fs-bluebot | Build Server message: New build round started. Revision 443ad25, 294 builds, 9 clients. |
22:37:58 | speachy | ok, I'm going to consider that working. |
23:00 |
23:00:54 | __builtin | agh, is it still down? |
23:01:22 | __builtin | oh, never mind |
23:01:37 | fs-bluebot | Build Server message: Build round completed after 1502 seconds. |
23:01:39 | fs-bluebot | Build Server message: Revision 443ad25 result: All green |
23:01:40 | fs-bluebot | Build Server message: New build round started. Revision 5094aaa, 294 builds, 9 clients. |
23:01:45 | __builtin | guess I'll have to wait til tomorrow to see how many things I just broke :) |
23:03:04 | speachy | discovered a glitch in the updated gerrit. not the main functionality thankfully but the "New UI" is malfunctioning. |
23:03:37 | __builtin | I see it will now yell at you for long commit messages :) |
23:03:45 | __builtin | "remote: warning: 5094aaa: subject >50 characters; use shorter first paragraph" |
23:03:56 | speachy | that needs tweaking. 50 is way too short. :D |
23:04:12 | __builtin | too bad it's not smart enough to say "you clearly have no idea what you're doing. Go re-learn C" |
23:04:39 | mendel_munkis | __builtin: that would be an awfully high barrier to contributing. |
23:05:32 | speachy | I can now turn on commit hooks that reject commits for that reason! |
23:05:55 | speachy | want to let this settle a bit before going to the next step |
23:07:22 | mendel_munkis | does anyone know of a good place to look for datasheets if a general purpose search-engine didn't turn the correct one up? |
23:07:51 | __builtin | for what chip? |
23:07:58 | mendel_munkis | st7783 |
23:08:18 | mendel_munkis | all I can find is st7781 and I want to figure out what the differences are. |
23:11:49 | __builtin | you could try emailing the manufacturer or a reseller |
23:12:08 | __builtin | for example https://www.aliexpress.com/item/32555420815.html claims to "Provide detail datasheet (sic)" |
23:13:06 | mendel_munkis | $20 says it's a link to the 7781 sheet. |
23:13:17 | __builtin | still worth a short |
23:19:53 | fs-bluebot | Build Server message: Build round completed after 1094 seconds. |
23:19:54 | fs-bluebot | Build Server message: Revision 5094aaa result: All green |
23:22:15 | speachy | gotta take gerrit offline again to reload its config |
23:27:38 | | Quit klock (Ping timeout: 260 seconds) |
23:28:29 | | Join klock [0] (~freeklock@unaffiliated/klock) |
23:28:31 | | Quit TheSeven (Ping timeout: 244 seconds) |
23:28:45 | | Join [7] [0] (~quassel@rockbox/developer/TheSeven) |
23:42:54 | speachy | wtf.. the oauth plugin for gitlab is trying to tell it to go to https:/gerrit.rockbox.org/ |
23:42:59 | speachy | ( /, not //) |
23:43:56 | __builtin | part of me hopes that's a typo |
23:44:06 | __builtin | but if it is indeed a typo... |
23:44:10 | speachy | nope |
23:44:47 | speachy | the oauth URL generated includes 'http:/' instead of :// |
23:44:58 | * | speachy shakes his head and mutters. |
23:45:17 | __builtin | gitlab's fault, or gerrit-oauth? |
23:46:09 | speachy | it's generated by gerrit-oauth |