2024-03-26.log

- Gooberpatrol66 (QUIT: Quit: Konversation terminated!) (~Gooberpat@user/gooberpatrol66)00:30
+ Gooberpatrol66 (~Gooberpat@user/gooberpatrol66)00:36
+ jacobk (~quassel@utdpat241106.utdallas.edu)00:45
- jacobk (QUIT: Ping timeout: 260 seconds) (~quassel@utdpat241106.utdallas.edu)01:00
- mtm (QUIT: Ping timeout: 260 seconds) (~mtm@c-71-228-84-213.hsd1.fl.comcast.net)01:04
+ jacobk (~quassel@utdpat242094.utdallas.edu)01:08
- mjw (QUIT: Ping timeout: 268 seconds) (~mjw@gnu.wildebeest.org)01:29
- jacobk (QUIT: Ping timeout: 268 seconds) (~quassel@utdpat242094.utdallas.edu)01:37
+ jacobk (~quassel@utdpat242094.utdallas.edu)01:39
digitalraynedoes anyone known if the lpc firmware requires a specific version of gcc-arm-none-eabi?01:52
digitalrayne*know01:52
- jacobk (QUIT: Ping timeout: 260 seconds) (~quassel@utdpat242094.utdallas.edu)02:05
jndigitalrayne: are you hitting a specific error?02:13
jndigitalrayne: perhaps this one? https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=106769202:13
- jn (QUIT: Ping timeout: 272 seconds) (~quassel@user/jn/x-3390946)02:50
+ jn (~quassel@user/jn/x-3390946)02:50
- kop316 (QUIT: Remote host closed the connection) (m-6f6zq6@static.138.159.90.157.clients.your-server.de)02:56
+ kop316 (m-6f6zq6@static.138.159.90.157.clients.your-server.de)02:57
digitalraynei was trying to compile on OpenBSD, wasn't getting any errors but the built binary didn't seem to be booting - I think it may have been a subtle difference between *BSD's dd and the one shipped with Debian, I was able to reproduce the issue (LPC not booting) with both an alpine-built and OpenBSD-built LPC firmware03:00
digitalrayneif I added bs=1 to the end of the dd command though, it worked OK03:01
digitalrayne(in addition to the documented conv=notrunc)03:01
digitalraynethank you though - it's good to be aware of potential issues with newer versions03:01
- kop316 (QUIT: Remote host closed the connection) (m-6f6zq6@static.138.159.90.157.clients.your-server.de)03:02
+ kop316 (m-6f6zq6@static.138.159.90.157.clients.your-server.de)03:03
- kop316 (QUIT: Remote host closed the connection) (m-6f6zq6@static.138.159.90.157.clients.your-server.de)03:04
+ kop316 (m-6f6zq6@static.138.159.90.157.clients.your-server.de)03:04
+ mtm (~mtm@c-71-228-84-213.hsd1.fl.comcast.net)03:10
- nsc_ (QUIT: Ping timeout: 268 seconds) (~nicolas@186-99-142-46.pool.kielnet.net)03:40
+ nsc (~nicolas@188-48-142-46.pool.kielnet.net)03:42
+ jacobk (~quassel@utdpat242094.utdallas.edu)03:44
+ f__ (~AUGESOUND@fases/developer/funderscore)03:57
- jacobk (QUIT: Ping timeout: 260 seconds) (~quassel@utdpat242094.utdallas.edu)03:58
- f_ (QUIT: Ping timeout: 260 seconds) (~AUGESOUND@fases/developer/funderscore)03:58
* f__ -> f_04:00
+ jacobk (~quassel@utdpat242068.utdallas.edu)06:03
- hairu (QUIT: Remote host closed the connection) (m-uotkmd@user/hairu)06:25
+ hairu (m-uotkmd@user/hairu)06:26
- Gooberpatrol66 (QUIT: Read error: Connection reset by peer) (~Gooberpat@user/gooberpatrol66)06:43
+ Gooberpatrol66 (~Gooberpat@user/gooberpatrol66)06:46
- GNUmoon2 (QUIT: Ping timeout: 260 seconds) (~GNUmoon@gateway/tor-sasl/gnumoon)07:36
- Gooberpatrol66 (QUIT: Remote host closed the connection) (~Gooberpat@user/gooberpatrol66)07:48
+ chomwitt (~chomwitt@2a02:587:7a17:f700:1ac0:4dff:fedb:a3f1)07:49
+ GNUmoon2 (~GNUmoon@gateway/tor-sasl/gnumoon)07:49
- chomwitt (QUIT: Ping timeout: 260 seconds) (~chomwitt@2a02:587:7a17:f700:1ac0:4dff:fedb:a3f1)08:33
jndigitalrayne: ah, interesting. i wonder who's at fault here: BSD or alpine for having a POSIX-noncompliant dd, or the firmware installation script for using dd incorrectly09:07
+ chomwitt (~chomwitt@2a02:587:7a17:f700:1ac0:4dff:fedb:a3f1)09:18
- GNUmoon2 (QUIT: Remote host closed the connection) (~GNUmoon@gateway/tor-sasl/gnumoon)09:18
+ GNUmoon2 (~GNUmoon@gateway/tor-sasl/gnumoon)09:18
- hairu (QUIT: Remote host closed the connection) (m-uotkmd@user/hairu)09:40
+ hairu (m-uotkmd@user/hairu)09:41
- jacobk (QUIT: Ping timeout: 268 seconds) (~quassel@utdpat242068.utdallas.edu)09:49
- chomwitt (QUIT: Quit: WeeChat 3.8) (~chomwitt@2a02:587:7a17:f700:1ac0:4dff:fedb:a3f1)10:16
+ jacobk (~quassel@64.189.201.150)10:39
+ colinsane (~colinunin@97-113-159-4.tukw.qwest.net)11:17
digitalraynemost likely because i was writing the lpc firmware under OpenBSD with different block device behaviour, it could have been dd differences though11:17
digitalraynethe lpc firmware compiled under alpine & openbsd has the exact same checksum though, which was cool to test11:18
+ mjw (~mjw@gnu.wildebeest.org)11:22
- colinsane (QUIT: Quit: bye) (~colinunin@97-113-159-4.tukw.qwest.net)11:41
+ colinsane (~colinunin@97-113-159-4.tukw.qwest.net)11:44
jnhooray for reproducible builds11:59
minutedigitalrayne: yeah, the block device implementation in the lpc rom is very peculiar12:30
- mjw (QUIT: Ping timeout: 264 seconds) (~mjw@gnu.wildebeest.org)12:30
* Guest9745 -> mjw12:42
- mtm (QUIT: Ping timeout: 256 seconds) (~mtm@c-71-228-84-213.hsd1.fl.comcast.net)13:04
joschif some versions of dd work, maybe it makes sense to write a tiny C script which does the open() and write() syscalls exactly as required? Or could it be a problem of the vfat implementation?14:35
+ mtm (~mtm@c-71-228-84-213.hsd1.fl.comcast.net)15:09
+ mark_ (~mjw@gnu.wildebeest.org)15:42
minutei'm working now on the pocket reform production install process :015:45
minutewe're building the first 10 devices...15:45
- jacobk (QUIT: Ping timeout: 268 seconds) (~quassel@64.189.201.150)16:00
grimmware:O16:18
grimmwaredon't forget to post some pics on the fedi!16:18
minutecomplicated because we need to bootstrap over ethernet, as the preinstalled uboot can't boot from sd card. 16:18
+ jacobk (~quassel@utdpat242053.utdallas.edu)16:21
joschdigitalrayne: i was able to flash the lpc firmware without mounting the block device by writing the firmware to offset 0x800 on the device it shows to the OS16:26
joschdigitalrayne: maybe bypassing the filesystem like that can be a solution for you?16:26
+ Gooberpatrol66 (~Gooberpat@user/gooberpatrol66)16:46
jnwith mentions of block storage and vfat... does the lpc implement UF2? UF2 is pretty cool and easy to use17:18
- jacobk (QUIT: Ping timeout: 240 seconds) (~quassel@utdpat242053.utdallas.edu)17:19
- mark_ (QUIT: Ping timeout: 272 seconds) (~mjw@gnu.wildebeest.org)17:21
joschjn: no mention of that in the lpc firmware17:28
jnhm, maybe something for future consideration (although switching from a raw image to UF2 might be difficult, i'm not entirely sure)17:29
minutejosch: jn: the filesystem stuff is not part of the firmware. it's implemented in rom17:31
joschi'm inspecting the fat filesystem exposed by the lpc and offset 0x800 there is always a file with 32768 in size -- i guess that's why dd is run with nocreat and notrunc to not mess with any of that and just overwrite the location17:31
joschminute: ahaaa! that explains why the strings i find in the fat filesystem cannot be found anywhere in the firmware :)17:32
minutejosch: yep. the disk implementation in the rom is incomplete and they only tested it with windows explorer i think17:32
- sevan (QUIT: Ping timeout: 256 seconds) (~sevan@user/venture37)17:32
jnoh, i see17:33
joschif it's in rom, then the offset of the magic FIRMWARE.BIN file should never be any other place than at offset 0x80017:34
joschdigitalrayne: so on linux, this worked for me: dd if=bin/firmware.bin of=/dev/sda bs=512 seek=4 count=6417:34
jnwhere's the firmware source btw? i can't find it under https://source.mnt.re/reform?filter=lpc17:36
joschjn: https://source.mnt.re/reform/reform/-/tree/master/reform2-lpc-fw?ref_type=heads17:36
jnah thanks17:37
jnthe readme also answer the question that has been bugging me for a while: Why is it called LPC? (it's an LPC11U24 µC)17:38
jnfor a while i suspected (incorrectly!) that it was an incorrect semantic transfer, i.e.: 1. some laptop ECs are connected via the "low pin count" LPC bus, 2. let's call ECs LPC, 3. let's call this EC "LPC" as well, even tough it's connected by other means17:39
minutejn: LPC means Low Pin Count17:40
jnminute: in the NXP LPC series too?17:40
minutejn: https://en.wikipedia.org/wiki/NXP_LPC17:40
jnterrible naming, in the grand scheme of things :D17:40
jnit's unrelated to the miniaturised ISA bus known as "low pin count", right?17:41
minutei think so17:44
jnreminds me of the two entirely different PowerPC-related processor features called SPE and used in the PowerPC generation of video game consoles (Cell SPE vs. the thing that found its way into debian as powerpcspe)17:46
+ jacobk (~quassel@64.189.201.150)17:47
minutehm, our system image doesn't have growpart?17:55
minute(cloud-guest-utils)17:55
joschwhy not use gparted?17:56
minuteah, parted can do it!17:56
joschparted -s $rootdev resizepart $rootpart_nr 100%17:56
joschit's part of my firstboot MR against reform-system-image17:57
minute> parted /dev/mmcblk2 resizepart 2 100%17:57
minuteyeah :317:57
minutei've concluded that so far the fastest way of installing our system image to eMMC is to dd it from a USB 3 drive17:57
joschminute: important there is, that the changes are not applied immediately and you might want to apply the udev-waiting logic before you partprobe17:57
minute(during pocket production)17:58
+ sevan (~sevan@2001:470:1f1d:1d6:5a55:caff:fe24:ed4)17:59
minutethe only remaining issue is the slowness of resize2fs18:00
minutewell, it's kind of ok i guess18:02
joschminute: maybe instead of first dd and then resize2fs on the device, you could try creating a sparse disk image with fallocate, grow the partition and resize2fs there and then create a bmap file with bmaptool and flash the image with bmaptool instead of dd which will only write those blocks which have content in them18:03
- klardotsh_ (QUIT: Quit: zzz) (~klardotsh@c-67-170-115-80.hsd1.wa.comcast.net)18:03
minutejosch: mhm!18:04
+ klardotsh (~klardotsh@c-67-170-115-80.hsd1.wa.comcast.net)18:04
minutei will also need to heavily update the imx8mp uboot today18:04
minuteit's missing critical variables like kernel_addr_r, fdt_addr_r and ramdisk_addr_r18:04
joschyeah those are kinda important :D18:05
minutebut nice, when setting setenv kernel_addr_r $loadaddr; setenv fdt_addr_r $fdt_addr; setenv ramdisk_addr_r 0x44000000; it can boot from the freshly imaged emmc18:05
joschuff awesome!! \o/18:05
minutebut network is broken and wifi is missing, need to fix them today18:06
joschsounds like we soon can generate disk images for the pocket18:06
minutejosch: we already do :3 they're just not perfect yet18:06
joschthough i wonder if it makes sense to let reform-system-image publish them if the pocket cannot boot from sd-card?18:06
minutejosch: pocket will be able to boot them, it only can't load uboot from them18:07
joschah okay, that's good18:07
minutemy factory process, very simplified, is like: 1. flash our uboot to emmc 2. image our system image to emmc18:07
minutein practice it's more complicated because the first boot of the vendor uboot needs to go via ethernet+tftp because everything else is borked18:08
joschso... you will need to do that process 700 times? XD18:09
minuteyeah18:19
minutebut i'll try to automate it18:19
minutehmhm > [   17.130879] platform 32ec0000.blk-ctrl: deferred probe pending: imx8m-blk-ctrl: failed to get noc entries18:24
+ vagrantc (~vagrant@2600:3c01:e000:21:7:77:0:50)18:25
minutebut why was i able to boot the first time around...18:26
minutei wonder if a driver for "fsl,imx8mp-noc", "fsl,imx8m-noc" is missing in the debian kernel18:36
minute> CONFIG_INTERCONNECT_IMX8MP=m18:37
minutethat's probably not good18:37
minutehm but on imx8m it was also a module and didn't make such trouble...18:38
minutealso, if the system decides to run fsck, all bets are off, because watchdog driver is not loaded and then the system just hard resets before fsck can finish :(18:38
minutei will try to do CONFIG_INTERCONNECT_IMX8MP=y and CONFIG_IMX7ULP_WDT=y and rebuild the kernel package locally18:40
- jacobk (QUIT: Ping timeout: 268 seconds) (~quassel@64.189.201.150)18:58
minutehm, weird error in + env --chdir=linux ../kernel-team/utils/kconfigeditor2/process.py .19:02
minute> KeyError: ('base',)19:02
joschminute: do you have a log?19:02
minutejosch: does it log to a file or do i need to copy it out of the terminal?'19:03
joschalso, try "rm -rf kernel-team" so that the build.sh script clones a new version19:03
minuteah ok19:03
joschminute: the build log is stored in a file called ${srcpkg}_${version}.build19:03
joscherrr... ${srcpkg}-${version}_${arch}.build19:04
minutehmm i believe it did not create such a file yet19:04
joschthe debian linux packaging received a very large refactoring with the 6.7 release so it's not surprising that some things break19:05
minutethe log is not very long, i will copy it out... and try removing kernel-team19:05
minutejosch: http://dump.mntmn.com/linux-buildlog-20240326-1.txt19:06
+ jacobk (~quassel@utdpat241055.utdallas.edu)19:06
minutejosch: yep, deleting kernel-team did it, many thanks19:07
joschokay, great :)19:07
joschminute: alternatively, you can also comment out that line calling kconfigeditor2 in linux/build.sh. That script is only to "prettify" configs (sorting, structuring, adding header comments etc) and not strictly necessary19:08
minutejosch: ah, good to know19:10
minuteit is compiling the kernel now.19:10
joschwe need compilation times on rk3588 for the reform kernel :D19:11
+ mark_ (~mjw@gnu.wildebeest.org)19:19
minutejosch: yeah, unfortunately i don't really have time for that at the moment, things are heating up here with pocket :D19:21
joschwell, that is also good! :D19:23
joschi ordered my dragonbox pyra in 2016 and still don't have it19:24
minute:019:25
joschif you find yourself wondering why i'm so excited contributing to MNT, i'm so happy to finally have found a company which delivers19:25
minuteoh, that is very nice to hear :319:42
f_josch: wow haha19:43
f_I wasn't aware that delivery could take this long :P19:43
f_In this case it's been almost 10 years and the pyra is still in development19:46
kop316I think a few folks got them, but it is that one person running the whole shop. I had faith it would come out much quicker due to the open pandora, but......19:47
* mjw -> Guest347319:50
- Guest3473 (QUIT: Killed (tungsten.libera.chat (Nickname regained by services))) (~mjw@2001:1c06:2488:1400:4fd:39a7:74ac:7bae)19:50
* mark_ -> mjw19:50
+ Guest3473 (~mjw@2001:1c06:2488:1400:4fd:39a7:74ac:7bae)19:51
- jacobk (QUIT: Ping timeout: 240 seconds) (~quassel@utdpat241055.utdallas.edu)19:58
minutehow big is the pyra batch(es)?19:58
minuteok, a kernel deb fell out. 20:00
minuteso this took 50 minutes on my i9 oof.20:01
+ jacobk (~quassel@utdpat241106.utdallas.edu)20:10
- hairu (QUIT: Remote host closed the connection) (m-uotkmd@user/hairu)20:30
+ hairu (m-uotkmd@user/hairu)20:32
minuteok, i just had to do some dtb fixes to get usb + ethernet working again20:33
minutenext challenge: how to package https://source.mnt.re/reform/qcacld220:58
minutei guess similar to the lpc driver, dkms something something21:00
minutereading https://vincent.bernat.ch/en/blog/2018-packaging-driver-debian-dkms21:00
grimmwareI looked up the Pyra again thanks to the Pocket and I was astounded it was still in development.21:06
joschminute: for packaging a kernel module with dkms you can just copy what i did for the reform2-lpc module which uses exactly the technique detailed in vincents blog post21:10
joschkop316: they also had a problem with one employee steeling from their warehouse and tons of issues with their case suppliers21:14
kop316josch: eeesh.....yeah I sort of stop paying attention a few years ago.21:15
joschit's really unfortunate for them -- i think they are very nice people21:17
kop316yeah they seem like it21:27
minutejosch: ok, i have my first qcacld2-dkms_1.0.0-0_all.deb but it's only 1kb in size :D21:31
minutei probably have to make an .install file?21:32
joschminute: if your buildsystem does not install stuff itself, then yes21:36
minutehmm no idea... these are not my sources :D it's makefile based21:37
joschsince the module is built upon installation, the package will just ship the Makefile and the sourcecode21:37
minuteyeah, but it didn't include the sourcecode in the .deb21:37
minuteaha, now that i put all the source paths and the makefile in an .install file, the .deb is 3MB in size21:37
joschcool :)21:38
minutewow, installing the .deb on the pocket literally created the dir 'qcacld2-${env:DEB_VERSION_UPSTREAM}' in /usr/src/21:39
minuteouch21:39
joschyour debian/rules needs to at least include:21:39
joschinclude /usr/share/dpkg/pkg-info.mk21:40
joschexport DEB_VERSION_UPSTREAM21:40
joschthis will set that environment variable to the correct value so that it can be used in the .install file21:40
minuteit does include that21:40
minutealso, when installing the package, no build happens21:41
minutei guess i'm holding it wrong21:41
minutei'll commit my debian folder, maybe you could take a quick look what i'm doing completely wrong?21:41
joschsure thing21:41
joschdo you have dh-sequence-dkms in Build-Depends?21:42
minutejosch: https://source.mnt.re/reform/qcacld2/-/tree/boundary-CNSS.LEA.NRT_3.1/debian?ref_type=heads21:43
minutelet me check21:43
minutejosch: no, i have "dkms", probably that tutorial is not current anymore21:43
joschdkms is the package that your qcacld2-dkms needs to depend on21:44
joschit's the package that needs to be installed when *installing* your dkms package not when building it21:44
joschtry adding dh-sequence-dkms or in debian/rules add --with=dkms to the dh call21:45
josch(the former method is considered being more elegant)21:45
minuteok, trying21:45
- jacobk (QUIT: Ping timeout: 240 seconds) (~quassel@utdpat241106.utdallas.edu)21:45
joschoh wow that MAKE[0] line :D21:46
minute:D21:46
minutenot sure if that will work yet21:46
joschoh and instead of debhelper (>= 9) you should use debhelper-compat (= 13)21:46
minutei tried to stuff the vars from my build.sh in there https://source.mnt.re/reform/qcacld2/-/blob/boundary-CNSS.LEA.NRT_3.1/build.sh?ref_type=heads21:46
joschthen you can also remove that debian/compat file21:46
minutejosch: yeah, seen that and changed that, and deleted compat file21:46
minuteaha, this time it wants to build something on the pocket21:47
minuteapparently the linux-headers-6.7.9-reform2-arm64 package is not installed but i wonder how i can make the dkms package depend on that dynamically21:53
minute(the build fails with stdarg.h not found)21:54
joschthe package cannot know what your currently running kernel is when it gets installed21:55
+ jacobk (~quassel@129.110.242.224)21:55
joschotherwise, the moment you install another kernel, the dkms package would have to switch dependencies21:55
joschbut the linux-headers-arm64 package is installed by reform-system-image, so it will be available by default21:55
joschand linux-headers-arm64 is the one that then depends on the latest versioned header package21:56
minutehm, i wonder why it doesn't find that header then21:56
minuteah hm21:56
minutethe header is in /usr/src/linux-headers-6.7.9-reform2-common21:56
minuteand make says > make[1]: Entering directory '/usr/src/linux-headers-6.7.9-reform2-arm64'21:57
joschthe directory passed with -C should be /lib/modules/$(shell uname -r)/build21:58
minuteah yeah, and that has a makefile which includes /usr/src/linux-headers-6.7.9-reform2-common/Makefile21:59
- jacobk (QUIT: Ping timeout: 268 seconds) (~quassel@129.110.242.224)22:00
joschwhat helped me figure this out form the reform2-lpc dkms module was to try out variations of what other dkms modules do: https://codesearch.debian.net/search?q=MAKE%5B0%5D%3D&literal=122:00
minute:022:01
minutei wonder what causes > make[1]: Entering directory '/usr/src/linux-headers-6.7.9-reform2-arm64'22:01
joschin the dkms file in git you just say: make -j4 -C M=...22:03
joschso there is no path passed to -C22:03
joschothers seem to do: -C ${kernel_source_dir} M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build22:04
- sevan (QUIT: Changing host) (~sevan@2001:470:1f1d:1d6:5a55:caff:fe24:ed4)22:08
+ sevan (~sevan@user/venture37)22:08
minutejosch: true22:08
minutelooks like a copypaste error22:08
minuteit doesn't seem to use the MAKE[0] line anyway...22:10
joschthat'd be odd22:11
minuteor maybe it does, but the makefile overrides some stuff22:11
joschalternatively, you could write your own makefile22:11
minuteok so the problem is that they include <stdarg.h>, but apparently it has to be <linux/stdarg.h>22:15
minuteseems weird though22:16
joschbut not uncommon -- the oss4 dkms module in debian also needs to patch this: https://sources.debian.org/src/oss4/4.2-build2020-3/debian/patches/include.patch/?hl=38#L3822:17
minutejosch: ohh ok thanks, that gives me confidence... then i'll patch that in the few driver sources files22:17
minuteoof something in the kernel is hogging one core at 100% all the time 22:29
minutethis driver is so huge...22:34
minutetakes forever to compile on the device :D22:38
joschit will taken even longer when it gets compiled on the gitlab CI because there the build gets emulated :D22:40
minutegaaah22:40
minuteok, build finished (i have to say that 1 core is 100% hogged... and i don't know why)22:43
minuteah, usb related22:43
minuteah yes, goes away upon `rmmod dwc3`22:43
minuteprobably i still got one of the fsl,over-current-active-low wrong22:44
minute> INSTALL /lib/modules/6.7.9-reform2-arm64/updates/wlan.ko22:46
minutefunny that it's just called "wlan.ko" sigh22:46
joschminute: reading man page of dkms(8) it seems you can use DEST_MODULE_NAME to rename modules22:49
minuteoh nice22:50
minute> ar6k_wlan: probe of mmc1:0001:1 failed with error -122:59
minute:322:59
minuteat least i fixed the usb issue...23:00
- colinsane (QUIT: Quit: bye) (~colinunin@97-113-159-4.tukw.qwest.net)23:08
+ colinsane (~colinunin@97-113-159-4.tukw.qwest.net)23:11
minuteah, i managed to revive the wifi. i just had the wrong collection of firmware blobs23:32
+ jacobk (~quassel@64.189.201.150)23:43

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!