**** BEGIN LOGGING AT Thu Jun 04 03:06:25 2020 Jun 04 03:08:34 build #382 of apm821xx/nand is complete: Failure [failed defconfig dltar] Build details are at http://buildbot.openwrt.org/master/images/builders/apm821xx%2Fnand/builds/382 blamelist: Rosen Penev , Tomasz Maciej Nowak , Tobias Schramm , Florian Eckert , Johann Neuhauser neuhauser.de>, ?lvaro Fern?ndez Rojas , DENG Qingfang , Paul Spooren , Sungbo Eo , Michael Heimpold , Adrian Schmutzler , Alexey Dobrovolsky , Sven Roederer , Thomas Albers Jun 04 03:08:34 , Sergey Ryazanov , Petr ?tetiar , Eneas U de Queiroz , Tim Harvey Jun 04 03:09:46 build #400 of ramips/rt3883 is complete: Failure [failed defconfig dltar] Build details are at http://buildbot.openwrt.org/master/images/builders/ramips%2Frt3883/builds/400 blamelist: Rosen Penev , Tomasz Maciej Nowak , Tobias Schramm , Florian Eckert , Johann Neuhauser neuhauser.de>, ?lvaro Fern?ndez Rojas , DENG Qingfang , Paul Spooren , Sungbo Eo , Michael Heimpold , Adrian Schmutzler , Alexey Dobrovolsky , Sven Roederer , Thomas Albers Jun 04 03:09:46 , Sergey Ryazanov , Petr ?tetiar , Eneas U de Queiroz , Tim Harvey Jun 04 03:59:28 build #395 of mvebu/cortexa72 is complete: Failure [failed kmodconfig] Build details are at http://buildbot.openwrt.org/master/images/builders/mvebu%2Fcortexa72/builds/395 blamelist: Rosen Penev , Tomasz Maciej Nowak , Tobias Schramm , Florian Eckert , Johann Neuhauser neuhauser.de>, Tim Harvey , ?lvaro Fern?ndez Rojas , Paul Spooren , Sungbo Eo , Michael Heimpold , Adrian Schmutzler , Alexey Dobrovolsky , Sven Roederer , Thomas Albers Jun 04 03:59:28 , Sergey Ryazanov , Petr ?tetiar , DENG Qingfang , Eneas U de Queiroz Jun 04 04:00:45 build #389 of mediatek/mt7622 is complete: Failure [failed defconfig dltar] Build details are at http://buildbot.openwrt.org/master/images/builders/mediatek%2Fmt7622/builds/389 blamelist: Rosen Penev , Tomasz Maciej Nowak , Tobias Schramm , Florian Eckert , Johann Neuhauser @it-neuhauser.de>, Tim Harvey , ?lvaro Fern?ndez Rojas , Paul Spooren , Sungbo Eo , Michael Heimpold , Adrian Schmutzler , Alexey Dobrovolsky , Sven Roederer , Thomas Albers Jun 04 04:00:45 , Sergey Ryazanov , Petr ?tetiar , DENG Qingfang , Eneas U de Queiroz Jun 04 04:02:00 build #390 of cns3xxx/generic is complete: Failure [failed defconfig dltar] Build details are at http://buildbot.openwrt.org/master/images/builders/cns3xxx%2Fgeneric/builds/390 blamelist: Rosen Penev , Tomasz Maciej Nowak , Tobias Schramm , Florian Eckert , Johann Neuhauser @it-neuhauser.de>, Tim Harvey , ?lvaro Fern?ndez Rojas , Paul Spooren , Sungbo Eo , Michael Heimpold , Adrian Schmutzler , Alexey Dobrovolsky , Sven Roederer , Thomas Albers Jun 04 04:02:00 , Sergey Ryazanov , Petr ?tetiar , DENG Qingfang , Eneas U de Queiroz Jun 04 06:41:24 ynezz: the nomosphere builder appears to be out of disk space Jun 04 06:47:06 f00b4r0: pong Jun 04 07:09:16 hmmmz. I'm trying to figure out how I can make patches for this merge commit in net-next: 626ceee334f94852a1864b54d376290298cf9e4c Jun 04 07:18:02 https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=626ceee334f94852a1864b54d376290298cf9e4c Jun 04 07:18:49 I have a T1042 SoC using that VSC9953 switch and this might help me getting the thing to work under OpenWrt Jun 04 07:19:32 stintel: in general there is a lot of movement inside the DSA subsytem and the API at least a year ago was not very stable Jun 04 07:19:50 backporting drivers tended to require either api backport int he driver or the subsystem Jun 04 07:20:30 it would just be local for now. maybe you are suggesting I use an external kernel tree instead for my playing around? Jun 04 07:23:55 try it out Jun 04 07:24:04 it might work on our v5.4 Jun 04 07:24:17 there were only 3 new versions so the delta might not be too big Jun 04 07:24:39 I see Jun 04 07:24:54 interesting...libupnp is apparently trash Jun 04 07:25:01 I might try with external kernel tree (next-next) first Jun 04 07:25:13 mangix: big suprise Jun 04 07:25:23 this device is a WatchGuard Firebox M200. T1042 with 8x1Gbe Jun 04 07:25:24 API takes an interface and only listens on IPv4 Jun 04 07:25:58 I need to test this on malta again. Jun 04 07:26:10 they're becoming available on the 2nd hand market and to me looked like an interesting architecture Jun 04 07:26:32 I have a subtarget of mpc85xx that boots on it Jun 04 07:26:39 You nutty ppl! Jun 04 07:26:48 you got DSA on mvebu! Jun 04 07:26:48 but the network part... I am scratching my head =) Jun 04 07:27:01 It's been so long!!!! HAPPINESS! Jun 04 07:28:00 also had to patch out some assembly code from musl to stop it from crashing userspace, as it has no altivec (no lvx stvx and these are hardcoded) Jun 04 07:28:08 thagabe: why? DSA is slower. lol Jun 04 07:28:29 granted, the mvebu devices are quite capable Jun 04 07:28:51 isn't dsa kernel based"? Jun 04 07:28:57 shouldnt it be faster Jun 04 07:29:37 lol no. the only difference is that it's upstream. leas maintenance burden. Jun 04 07:30:33 huh i was fairly sure DSA was in kernel space Jun 04 07:30:59 swconfig is as well. Jun 04 07:31:03 DSA as it is right now is a complete trainwreck Jun 04 07:31:08 in the first place I am interested to benchmark if this thing is faster than APU2 Jun 04 07:31:28 sure it might be nice once you got it set up Jun 04 07:31:36 but integration in openwrt is non existent Jun 04 07:31:51 configuration is a complicated, highly device dependent inconsistent mess Jun 04 07:33:27 I do remember that being mentioned Jun 04 07:37:09 ynezz: those two cmake patches are probably worthless for now. Jun 04 07:38:18 I experimented by placing a default CMAKE_BINARY_SUBDIR and see what fails. Jun 04 07:39:07 blogic: you really are on fire with ath11k :-) Jun 04 07:58:20 xback: ;) Jun 04 07:59:40 xback: getting the hostapd series to go along ready just now Jun 04 08:00:02 still need to figure out how to best handle TIM/AID mapping Jun 04 08:00:12 you only have 1 TIM IE when doing multiple bssid Jun 04 08:00:21 so all APs share a common aid space Jun 04 08:00:40 however aid0/1 needs to be unique to the VAP as it is used for b/mcast Jun 04 08:07:59 rmilecki: is there a specific reason why the "firmware" scheme (with mtd splitter) is not implemented on nand devices? It seems it would work on routerboards, I'm wondering if there's something I should know before I embark on this implementation? Jun 04 08:53:17 f00b4r0: current sysupgrade procedure doesn't allow a dynamic mtd partition being used as ubi. Jun 04 08:53:40 gch981213: yes, I know this would need to be fixed, hence my asking first if there's some good reason not to do it that way :) Jun 04 08:57:50 f00b4r0: ubi is used for wear-levelling. if you write the underlying mtd devices directly, you are writing the same blocks every time. Jun 04 08:58:36 gch981213: aren't we doing that for kernel anyway? Jun 04 08:59:00 I think hardcoding kernel partition size is a serious drawback that's going to bite us eventually as the kernel keeps growing Jun 04 09:17:57 ubi volumes need to simply be created as dynamic Jun 04 09:18:14 that way they will "dynamically" grow upon a sysupgrade if the size is not enough Jun 04 09:18:27 our sysupgrade code already handles that afaik Jun 04 09:19:04 blogic: I'm not sure how that would fix the kernel partition sizing problem? Jun 04 09:19:21 (which is the problem I'd like to address) Jun 04 09:19:59 is the kernel inside the ubi ? Jun 04 09:20:02 no Jun 04 09:20:04 that's the point. Jun 04 09:20:10 ah ok, that is not good either way Jun 04 09:20:22 does the bootloader support ubi ? Jun 04 09:20:40 kernel should be in a ubi partition Jun 04 09:20:50 no Jun 04 09:20:54 the bootloader does not support ubi Jun 04 09:21:00 hmpf Jun 04 09:21:07 I want to avoid this: https://github.com/openwrt/openwrt/blob/8f40ee1630354c855768dcf0036b38b3004ec25f/target/linux/ath79/dts/ar7100_mikrotik_routerboard-4xx.dtsi#L154 Jun 04 09:21:15 aware of the issue Jun 04 09:21:24 which is bound to hurt. Jun 04 09:21:58 i naively thought a top level firmware partition (like we do on NOR devices) would be a better way to handle that Jun 04 09:22:00 :) Jun 04 09:23:44 blogic: should I forget the idea? Jun 04 09:24:46 there is nothing i can think of Jun 04 09:26:23 f00b4r0: how is the bootloader loading kernel, does it just skip the bad nand blocks? Does it use OOB data to check what block is bad and what is not? Jun 04 09:26:30 ok. But would a top level firmware partition on NAND devices be NACKd on principle? And if not, any idea of how to split the underlying rootfs? Does it even make sense to dynamically allocate ubi? Jun 04 09:26:58 PaulFertser: excellent question. The bootloader is a black box. Jun 04 09:27:14 all we know is, it wants an ELF binary packed in yaffs. Jun 04 09:28:00 f00b4r0: I think this is to be determined. Probably it has a hardcoded limit for kernel size too and so dynamic partitions do not make much sense anyway since NAND is big enough and it's not too much of a waste to just allocate the maximum for the kernel? Jun 04 09:28:29 Unless you know how bad blocks are to be treated then I guess you can't implement a reliable sysupgrade procedure. Jun 04 09:28:36 there's no evidence of such a limit. At least there isn't on NOR devices and they use the same bootloader. Jun 04 09:28:59 OK, but the bad blocks question is still essential I guess? Jun 04 09:29:11 I suppose. I know next to nothing about NAND :) Jun 04 09:29:26 f00b4r0: i'm not sure what do you mean, my NAND has "firmware" and it splits it into "linux" (kernel) and "ubi" Jun 04 09:29:30 [ 5.517501] Creating 3 MTD partitions on "brcmnand.0": Jun 04 09:29:31 [ 5.522654] 0x000000000000-0x000020000000 : "firmware" Jun 04 09:29:41 ah! Jun 04 09:29:49 rmilecki: which device is that? Jun 04 09:29:56 bcm53xx Jun 04 09:29:59 * f00b4r0 needs to take a look at dts and sysupgrade routines Jun 04 09:30:00 f00b4r0: we already have a mtdsplit driver for kernel/ubi I believe? Jun 04 09:30:15 well I missed it then Jun 04 09:30:33 the only problem is that current sysupgrade code can't handle a dynamic ubi partition. Jun 04 09:30:44 f00b4r0: NAND is a whole different beast. Because some blocks there are bad right from the factory, and some blocks get bad over the years. Sometimes OOB data is used for ECC only, and there's a dedicated bad block table somewhere, sometimes OOB data has flags telling the software if the block is bad (from the factory or during the lifetime). And the bootloader needs to be treated everything in Jun 04 09:30:50 the same way as all the other software on the same board does. Jun 04 09:30:57 gch981213: well I suppose rmilecki's device is sysupgradable? :) Jun 04 09:31:04 rmilecki: that's all cool when the bootloader understands ubi. Jun 04 09:31:49 sorry, I see you mean splitting exactly the way f00b4r0 wants, so ubi is irrelevant Jun 04 09:31:52 my bootloader doesn't undestand UBI, that's why it's separated partition followed by "ubi" Jun 04 09:32:06 (kernel is separated partition that is) Jun 04 09:32:12 Yes, I misread Jun 04 09:32:28 yuck. bcm53xx dtses live as patches? Jun 04 09:33:08 f00b4r0: bcm53xx has alsmost all dts upstreamed Jun 04 09:33:14 sysupgrade part: https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=target/linux/bcm53xx/base-files/lib/upgrade/platform.sh;h=40b2ef67be5b9c1f2a0cfbdf1717f0747d148e75;hb=HEAD#l335 Jun 04 09:33:48 above is for Seama format Jun 04 09:33:54 for more generix TRX format: https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=target/linux/bcm53xx/base-files/lib/upgrade/platform.sh;h=40b2ef67be5b9c1f2a0cfbdf1717f0747d148e75;hb=HEAD#l290 Jun 04 09:34:33 also check how i create image with "linux" (kernel) partition: https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=target/linux/bcm53xx/image/Makefile;h=b3ec1e99a28fdbfed0d27f6a343228d2d1efd095;hb=HEAD#l68 Jun 04 09:34:38 How are bad blocks in kernel partition treated by the bootloader on those broadcom devices? Jun 04 09:34:58 PaulFertser: when flashing, bootloader skips bad blocks Jun 04 09:35:07 PaulFertser: same for reading obviously Jun 04 09:35:15 rmilecki: thanks. Looks non entirely trivial (since I don't know these image formats) but at least it suggests it can be done Jun 04 09:35:24 if blocks turns bad during lifetime it may go quite wrong Jun 04 09:35:50 I guess a verification step for kernel is needed then? Jun 04 09:36:31 CFE (bootloader) uses checksum over specified data length, we set length to cover kernel partition data Jun 04 09:36:34 So that sysupgrade reflashes it again if some of the blocks went bad during the process. Or is it automated already? Jun 04 09:36:41 so it should detect checksum mismatch Jun 04 09:36:55 what happens next depends on vendor specific bootloader configuration Jun 04 09:37:24 PaulFertser: sysupgrade just does "mtd write" for kernel partition which AFAIR also just skips bad blocks Jun 04 09:37:39 PaulFertser: and sysupgrade also updates UBI volume ofc Jun 04 09:38:23 rmilecki: I mean I'd expect a block to go bad right after erasing so mtd write is supposed to handle that somehow. Jun 04 09:38:23 in my case routerboot expects a yaffs-encapsulated kernel. AIUI yaffs provides checksuming Jun 04 09:38:54 PaulFertser: i don't remember when kernel marks block as bad Jun 04 09:39:47 f00b4r0: so you should probably have firmware with yaffs partition followed by UBI partition Jun 04 09:40:07 then use some mtdsplit driver than can detect it and create both partitions Jun 04 09:40:26 call the later partition "ubi" and let OpenWrt's UBI auto-mounting feature handle the rest Jun 04 09:40:57 *nod* Jun 04 09:41:04 then there's the sysupgrade bits to adjust Jun 04 09:41:41 right, make platform.sh overwrite yaffs2 partition and then update UBI volume Jun 04 09:41:51 well Jun 04 09:41:58 but that wouldn't solve the size problem, would it? Jun 04 09:42:02 It seems that despite being dynamically created, bcm53xx still uses a fixed 4m kernel partition anyway? Jun 04 09:42:08 if you cant move the head of the ubi volume, that is Jun 04 09:42:21 f00b4r0: right, see gch981213's msg above Jun 04 09:42:36 so the dynamic partitioning is purely cosmetic? Everything is still hard coded? :P Jun 04 09:42:55 bcm53xx kernel is 2 MiB or so, but to make sure, every updated kernel can still fit there, we always reserve 4 MiB for it Jun 04 09:42:56 * f00b4r0 - emotional rollercoaster ;P Jun 04 09:43:15 rmilecki: ok so there's absolutely no point in doing this dynamically? :) Jun 04 09:43:39 that would be very tricky Jun 04 09:43:44 to move UBI's head when needed Jun 04 09:43:56 no but I mean, what's even the point of having an mtd splitter with the scheme you describe? Jun 04 09:44:12 kernel partition is always 4M. That can be set in DTS, period. Jun 04 09:44:52 that would be slightly less generic, but yes, you could do that Jun 04 09:44:56 lol Jun 04 09:44:58 ok Jun 04 09:45:26 i don't believe project-specific hardcoded partitions layout should be upstreamed in DTS in Linux's kernel Jun 04 09:45:44 well I see, no need to bang my head against that wall I guess. We'll just set the kernel partition to be some large value (say 8-16MB) and be done with it Jun 04 09:46:35 it won't be the worst thing you can do, so sure Jun 04 09:46:49 i love upstreaming my work, so I always look for generic solutions Jun 04 09:46:51 rmilecki: well the alternative is to use a yaffs filesystem for the whole thing, but AIUI it's not exactly an option for openwrt? Jun 04 09:47:10 vendor devices use yaffs Jun 04 09:47:16 i wouldn't use yaffs on NAND more than it's needed Jun 04 09:47:21 UBI is definitely better idea Jun 04 09:47:23 heh Jun 04 09:47:33 but the bootloader doesn't support ubi. Conundrum Jun 04 09:47:41 ok thanks for the input, now I know where I stand :) Jun 04 09:47:47 yaffs + UBI then Jun 04 09:48:12 rmilecki: *nod*. But that's still not really good from a wear-levelling perspective Jun 04 09:48:17 yaffs with kernel, so bootloader can boot it, then UBI as it's up to kernel to boot user-space from it Jun 04 09:48:37 sure, ideally bootloader should support UBI Jun 04 09:48:51 alternatively we could pack kernel+ubi within yaffs :> Jun 04 09:48:52 * f00b4r0 runs Jun 04 09:49:02 just reading kernel from yaffs shouldn't easily wear your flash though Jun 04 09:49:18 rmilecki: no. I'm more concerned about repeated upgrades tho. Jun 04 09:49:41 quick unrelated question just in case you'd know the answer: Jun 04 09:50:15 I'm trying to find in the build process which step produces /build_dir/target-mips_24kc_musl/linux-ath79_*/vmlinux.elf Jun 04 09:50:23 which is the kernel I'd like to pack in my initramfs Jun 04 09:50:40 and looking at the output of V=s I can't find how it gets there Jun 04 09:51:15 grep -R elf include/* Jun 04 09:51:24 found this: include/kernel-defaults.mk: $(KERNEL_CROSS)objcopy $(OBJCOPY_STRIP) -S $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/vmlinux$(1).elf; \ Jun 04 09:51:28 check it Jun 04 09:51:47 doh. I was again looking at the wrong place Jun 04 09:51:48 thanks! Jun 04 09:51:51 yw Jun 04 09:52:33 I wonder if for the NAND devices it makes sense to consider using secondary bootloader which would be small, support UBI, telnet and TFTP recovery and would rarely be written. Jun 04 09:52:59 and secure. of course :3 Jun 04 09:53:16 Yes. Same u-boot but with sane defaults. Jun 04 09:53:31 it's not u-boot Jun 04 09:53:51 and good luck writing a bug-free bootloader like that :) Jun 04 09:54:40 But u-boot can be used as a second-stage bootloader instead of the Linux. And it can then load DTS properly and use it and pass it to the kernel etc. Jun 04 09:54:59 and then we can have a single image for all devices :) Jun 04 09:56:54 Doesn't sound really infeasable unless I'm missing something. Jun 04 09:57:26 it doesn't. It was on my todo list, until I was told single images are bad Jun 04 09:58:48 side question, and speaking of hard limits Jun 04 09:59:00 there is a hard limit in the size of binary routerboot can tftp boot Jun 04 09:59:19 and we're hitting it nowadays with kernel+initramfs on routerboards. Jun 04 09:59:31 initramfs is necessary for first install Jun 04 09:59:56 my question is: would it be acceptable to build a tiny install initramfs instead of the complete image (which is unbootable as of now)? Jun 04 10:00:35 xback: ^ by the way. More data points on that when you read this Jun 04 10:01:29 by "tiny install initramfs" I mean the kernel _and_ the fs would have to be smaller (so more bare) Jun 04 10:01:51 which means the kernel and the fs would be different from what is on the sysupgrade file Jun 04 10:02:01 and I don't know if that's ok. Jun 04 10:09:00 What would be the alternative approach? Something maintained out of tree that would be doing essentially the same? The problem is that current system doesn't support generation of several different rootfs files for a single target I guess. Jun 04 10:10:33 maybe it's time to work on that? Jun 04 10:14:56 btw, are LuCI-less initramfs images (snapshots) too big too? Jun 04 10:19:12 Because there were discussions about making buildbots produce both variants for release versions too. Jun 04 10:21:04 f00b4r0: I think you can't use that vmlinux.elf because dtb needs to be appended after kernel binary code, not after that elf file. Jun 04 10:24:07 having a more sane second stage loder is no possibility? Jun 04 10:24:22 something posing as kernel but chainloading something that understands ubi etc. Jun 04 10:24:50 does anybody know how to configure NVRAM parameters on USB brcmfmac devices? Jun 04 10:25:13 My end goal (on an OpenWRT custom board) is to enable 3 wire BT coexistence to avoid interference between a BCM43143 and a third party radio (a Silabs EFR32) Jun 04 10:25:28 Unfortunately the firmware binaries that come with the brcmfmac driver all have coexistence disabled =( Jun 04 10:25:39 it seems that for SDIO devices, the driver loads a firmware AND a set of parameters from an nvram file Jun 04 10:25:54 but for USB devices, only the firmware is loaded and the firmware binary is supposed to already have the nvram parameters merged in the USB firmware image Jun 04 10:26:19 Cypress (which now owns Broadcom devices) confirmed this, but they don't provide the tools for merging (unless you buy millions of devices!) Jun 04 10:26:36 so I was wondering whether there is some FOSS way of doing this? Jun 04 10:31:40 maybe ask someone at candelatech how they can now "distribute" (?) different firmware/drivers (-ct) that they modified for Qualcomm / ath10k wireless devices Jun 04 10:34:00 matteosilex: comment in usb.c suggests that NVRAM can be uploaded with firmware: Jun 04 10:34:01 const u8 *image; /* buffer for combine fw and nvram */ Jun 04 10:34:07 i'm not saying it's true Jun 04 10:34:09 also isnt Cypress now Infineon -since end of may/june this year Jun 04 10:34:10 but maybe? Jun 04 10:34:54 https://www.infineon.com/cms/en/about-infineon/press/press-releases/2020/INFXX202004-049.html complete cypress aquisistion Jun 04 10:35:48 jow: all DSA boards in OpenWrt supports tags, so all we need is a GUI of VLAN filtering on bridge interfaces. Jun 04 10:36:27 dengqf6: before we can have a gui we need an ui... and a config :) Jun 04 10:36:45 Looking at brcmfmac43143.bin suggests that nvram is appended at the end, and the whole file is a valid TRX image. Jun 04 10:36:54 jow: second stage loader is currently lzma-loader Jun 04 10:36:55 plntyk: I'm not sure I follow what you mean with "asking candelatech how they do it for ath10k devices"... They're different devices Jun 04 10:37:24 f00b4r0: just theoretically thinking, what about some uboot flavor that also does lzma/xz ? Jun 04 10:37:24 and it seems that it's quite buggy. Also on memory constrained boards, multiple chainloading require more memory space and this in turn can run into issues Jun 04 10:37:36 instead of lzma-loader Jun 04 10:37:46 That's what I was suggesting :) Jun 04 10:37:47 rmilecki: if you look below in the code, that combining is never done for USB devices Jun 04 10:37:51 gch981213: *sigh*. That elf file is what the bootloader wants to boot Jun 04 10:37:59 matteosilex: you can try repacking the TRX though Jun 04 10:38:05 jow: In previous swconfig, does uci call swconfig directly or call kernel API? Jun 04 10:38:05 matteosilex: right, because .bin already have NVRAM combined Jun 04 10:38:10 matteosilex: as noted by PaulFertser Jun 04 10:38:25 so if NVRAM is in plain text in .bin you can just repace it Jun 04 10:38:37 dengqf6: swconfig is triggered by /etc/init.d/network and the swconfig util consumes /etc/config/network uci natively Jun 04 10:39:01 matteosilex, the ath10k-ct is the same hardware - just running different firmware/softwarestack , https://www.candelatech.com/ath10k.php Jun 04 10:39:06 dengqf6: I guess for vlan filtering we would want that to be part of netifd Jun 04 10:39:09 jow: that's what I have/had in mind too, but I'm concerned about mem issues. Bear in mind for instance that we /don't know/ where routerboot tftp routines copies data in RAM Jun 04 10:39:09 mentions NDA Jun 04 10:39:34 so we could be crapping over ourselves any time (and I think that's exactly what happens on recent images which are "too big") Jun 04 10:40:07 jow: yup, and call kernel netlink instead of `bridge vlan` so we don't have to ship `ip-bridge` Jun 04 10:40:35 jow: the safe alternative would be a multi stage tftp boot: you'd tftp a secondary loader, start it Jun 04 10:40:46 and that secondary loader would then tftp the final image Jun 04 10:40:59 having full control over the secondary loader we can then lift all non-physical limits Jun 04 10:41:26 but of course that's not exactly a user-friendly scenario, especially in the case where you don't have serial over the hardware. Jun 04 10:42:17 rmilecki: the NVRAM is not plaintext in the bin, it's converted to a binary format somehow (Cypress said so) but I don't know how Jun 04 10:42:27 note that AIUI this is more or less what routeros does in its netinstall procedure: if I read the doc correctly, the bootloader tftp's a piece of code that then request data from a network fileserver and writes it to flash. Jun 04 10:42:30 matteosilex: it is plain text Jun 04 10:42:41 matteosilex: take a look and see for yourself Jun 04 10:43:29 Zero-terminated ASCII strings Jun 04 10:43:52 gch981213: https://lore.kernel.org/patchwork/patch/1048949/ <- this seems to suggest that it is possible to append dtb to elf kernel? Jun 04 10:44:39 Probably there's no checksum even (only in the TRX for the whole combined file) Jun 04 10:45:23 f00b4r0: the kernel can be built to load dtb after either elf or bin, but not both. Jun 04 10:45:37 gch981213: ok then we want the former Jun 04 10:46:40 f00b4r0: you'll need a whole new subtarget just for that, or you could try to package elf from bin like lzma-loader. Jun 04 10:46:51 we already have a subtarget, luckily :) Jun 04 10:48:01 i want to do away with lzma-loader. It's not working for us and I suspect it's not even doing what we think it does Jun 04 10:49:18 PaulFertser: ouch, I trusted Cypress on that... mistake. Jun 04 10:49:24 (specifically, LZMA_TEXT_START seems to not affect the final link, if I get this right) Jun 04 10:53:13 matteosilex: first thing would be to try patching the mac address I'd say. You'll see if it worked right away. Jun 04 11:04:51 matteosilex: the first trx "partition" looks kinda odd though. But it is TRX and you need to recalculate crc32 after changing nvram but that's probably about it. Jun 04 11:05:59 matteosilex: just all the data from offset 12 Jun 04 11:07:03 oh, that's very useful information Jun 04 11:08:19 jow: there is not enough disk space, so it's 25GB tmpfs for each builder Jun 04 11:08:43 jow: probably some cron job, need to take a look, have it on TODO list :] Jun 04 11:10:27 /home/petr/openwrt-buildslave/nomosphere-dock-02 tmpfs size=25G Jun 04 11:10:47 25G 16G 10G 61% /home/petr/openwrt-buildslave/nomosphere-dock-02 Jun 04 11:13:56 matteosilex: take a look at otrx.c sources, they're quite understandable (and you'll see a familiar name there). Since it verifies the file as valid TRX it means it calculates CRC in the same way. So I'd just patch the file and then would let it recalculate the CRC. Jun 04 11:14:38 PaulFertser: ahah, did you write the tool? Jun 04 11:14:39 matteosilex: it prints the sum upon mismatch Jun 04 11:14:44 matteosilex: no, rmilecki did Jun 04 11:14:54 matteosilex: that's probably what cypress meant by "it's binary" Jun 04 11:15:21 matteosilex: and then you just patch the checksum manually in the trx header (offset 8) Jun 04 11:15:22 annoying that a Cypress FAE would be that misleading... Jun 04 11:15:45 matteosilex: give it at try now since you have the hardware. Just change the MAC, fix CRC and see if the card boots. Jun 04 11:15:52 I'm on it! =) Jun 04 11:16:28 matteosilex: possibly just not knowledgeable enough. they edit a text file then a magic tool "makes a binary" for them Jun 04 11:16:51 matteosilex: otrx can be even use to repackage partitions Jun 04 11:16:53 (I'll have to build otrx, though, because I build OpenWRT for Allwinner A13, and otrx depends on BRCM being the target, so I don't get it in my build =) Jun 04 11:17:05 matteosilex: i didn't check if NVRAM is part of partition 1 or separated trx partition Jun 04 11:17:13 * f00b4r0 learns MIPS ISA - looks nice Jun 04 11:17:20 rmilecki: yes, but in this case the TRX looks odd, the 0th partition has "bc 09 06 00" offset... Jun 04 11:17:25 matteosilex: you can do "otrx extract file.bin -1 foo.bin", modify it, then, build trx again Jun 04 11:17:29 did you reverse the TRX format or is it documented somewhere? Jun 04 11:17:48 For the reference, I'm talking about https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/brcm/brcmfmac43143.bin Jun 04 11:18:14 So the CRC is valid but list of partitions is odd. Jun 04 11:18:46 So to play safe I'd tweak it manually as little as possible Jun 04 11:20:00 PaulFertser: it has weird partitions order indeed Jun 04 11:20:10 but offsets look ok Jun 04 11:20:20 The logic in otrx doesn't like it though Jun 04 11:20:33 Apparently you assumed they should be in order Jun 04 11:20:48 PaulFertser: offsets look like: 0x000609bc 0x00000018 0x0000031c Jun 04 11:21:03 it may be so Jun 04 11:23:20 81, not 18 Jun 04 11:24:32 Hi people what's going on with mvebu? I was going to bo a build to test dsa and now I see this. https://github.com/openwrt/openwrt/pull/3074 Jun 04 11:24:44 mips is single branch-delay-slot, right? Jun 04 11:24:49 build* Jun 04 11:24:58 matteosilex: otrx for the host is built along with all the firmware utils, shouldn't depend on the target? Jun 04 11:29:09 rmilecki: matteosilex: http://paste.debian.net/1150096/ (fix for partition extraction) Jun 04 11:32:22 PaulFertser: mmm... I don't have it in staging_dir/host/bin Jun 04 11:33:04 matteosilex: gcc ./package/utils/otrx/src/otrx.c -o otrx Jun 04 11:45:37 haha, it fixes but not quite, the third partition has no limit so the result file has wrong length. Jun 04 11:49:35 matteosilex: after doing "truncate -s 394912 fw3.bin" I'm able to pack trx to something very similar to the original file with "otrx create j.bin -b 0x81 -f fw2.bin -f fw3.bin -f fw1.bin" Jun 04 11:51:24 matteosilex: but I still would recommend to just patch crc manually instead Jun 04 11:52:23 For the first test Jun 04 11:53:05 * rmilecki agrees Jun 04 12:21:42 packages feeds: what is the criteria to update PKG_RELEASE ? thanks Jun 04 12:22:03 if I just want to change the PKG_REV ? Jun 04 12:27:32 if you change the rev, reset release to 1 Jun 04 12:28:06 changes to a makefile that do not change the REV need a release + 1 update so that opkg knows it needs to update even if the REV did not change Jun 04 12:28:19 like a fix to a init.d script only would require a release+1 update Jun 04 12:54:10 PaulFertser: sooo.. partial success, I think Jun 04 12:54:31 matteosilex: I was waiting impatiently for your feedback Jun 04 12:54:41 PaulFertser: modified the MAC, recomputed the CRC, replaced the original firmware with my modified one Jun 04 12:54:52 PaulFertser: yes, I was double and triple checking things =) Jun 04 12:55:19 PaulFertser: the interface comes up, but the MAC does not change Jun 04 12:55:20 matteosilex: ok, and? I guess partial means firmware boots but the mac was the same? Jun 04 12:55:28 yup Jun 04 12:55:39 Try changing something else then :) Jun 04 12:56:09 PaulFertser: so I'm thinking there must be something taking precedence over the MAC from NVRAM Jun 04 12:56:13 matteosilex: MAC should be overriden by the real NVRAM, that was my mistake to suggest it. Jun 04 12:56:32 matteosilex: yep, silly me Jun 04 12:57:30 PaulFertser: what do you mean by "the real NVRAM"? I thought the parameters from the end of the binary would be used to overwrite whatever is currently in NVRAM? Jun 04 12:57:40 PaulFertser: I guess I was wrong? Jun 04 13:00:05 matteosilex: by real nvram I meant the chip soldered on the board. And it's reasonable to assume the firmware wouldn't be honouring MAC address from the bin file that's the same for all the devices as it's downloaded from the firmware repo. Jun 04 13:01:37 PaulFertser: mmm... actually, that's where the behaviour I see is a bit suspicious Jun 04 13:02:18 PaulFertser: the MAC I see (with or without modding) is wlan0 Link encap:Ethernet HWaddr 00:90:4C:0E:81:23 Jun 04 13:02:36 00:90:4C:0E:81:23 Jun 04 13:02:59 PaulFertser: which happens to be the same that's in the binary from the repo Jun 04 13:06:03 matteosilex: you should be seeing firmware version and FWID in dmesg after loading. So probably try changing that instead. Jun 04 13:12:23 FWID is not part of NVRAM I'm afraid Jun 04 13:13:04 FullMAC firmware may be reading MAC from some other memory (OTP or something) and prefer it over one from NVRAM Jun 04 14:04:14 rmilecki: yes, I expect that's what's happening: OTP takes precedence over NVRAM, it's mentioned somewhere in the OTP programmin application note Jun 04 14:04:57 matteosilex: but hopefully not for all the parameters. Jun 04 14:12:39 Pa Jun 04 14:12:45 PaulFertser: same happens for FWID Jun 04 14:12:52 it does not change Jun 04 14:14:38 matteosilex: now I think you have more data to push FAE. Jun 04 14:14:49 eheh Jun 04 14:15:25 matteosilex: please do not forget to add the relevant information to the linux wireless wiki. Jun 04 14:15:42 PaulFertser: the FAE essentially told us they wouldn't support us because we don't have sufficient volumes. "get a module from Laird and make them provide a custom firmware" Jun 04 14:16:46 matteosilex: but you can tell them that you now can change the NVRAM data on your own and that you need to know what parameters can be overriden. Jun 04 14:18:20 (did you ask laird? just curious) Jun 04 14:21:14 matteosilex: btw, do you know about nexmon? There's plenty of RE done already, all the tools are public. And if you do not want to try reversing on your own you might consider hiring someone from their team for consulting with your project. Jun 04 14:23:41 karlp: wrote to Laird yesterday, still waiting for a reply Jun 04 14:24:25 PaulFertser: had a look at nexmon, but it looked like they had no work done for the 43143. It was a very quick look, though, I will dig deeper Jun 04 14:25:12 matteosilex: it doesn't matter that much, I'm sure they know people who are capable of doing the work for your chip. Jun 04 14:49:04 PaulFertser: found these instructions for the brcm4373 (very different, I know) Jun 04 14:49:06 http://paste.debian.net/1150159/ Jun 04 14:49:12 possible silly question: any reason not to use self-extracting kernel on MIPS? Jun 04 14:49:46 PaulFertser: do you know that "nvserial" utility? Jun 04 14:52:03 matteosilex: nope. Today's the first time I read anything specific about TRX and brcmfmac usb. Jun 04 14:53:55 PaulFertser: I'm wondering whether the plain text at the end is not actually used for configuring the chip Jun 04 14:54:21 matteosilex: easy to test, right? make it all zeroes, power-cycle the board :) Jun 04 14:54:53 PaulFertser: maybe it's just meant to be read back (for reference, debugging, or exporting values to sysfs or similar?) Jun 04 14:58:31 PaulFertser: ohsh*t Jun 04 14:58:41 PaulFertser: I found out why it made no difference Jun 04 14:59:20 PaulFertser: I did a power cycle (vs the warm reboots I was doing before). The mac changed. Jun 04 14:59:53 PaulFertser: I guess the driver does not reload the firmware if the IC is already up? Jun 04 15:00:04 matteosilex: I'm not sure if I should laugh or cry or be proud. Jun 04 15:01:23 hey all. I'm in the process of porting OpenWRT to a new TP-Link access point. The factory bootloader requires an ELF kernel loader, so I'm trying to use loader-okli to load. I just can't figure out how to configure it properly to boot with it. Is there anyone with experience with using loader-okli? Jun 04 15:01:40 PaulFertser: wel... I'll cry because of how dumb I was for not trying a cold reboot sooner Jun 04 15:01:41 unless that question is better suited for #openwrt Jun 04 15:01:56 PaulFertser: I'll rejoice for finding out it works Jun 04 15:03:15 matteosilex: I'm glad to hear there's some progress. Please do not forget to detail all your findings on the wiki so that the others would benefit from it too. Jun 04 15:04:10 PaulFertser: sure Jun 04 15:05:04 precurse: you've forgotten to paste the bootlog I think Jun 04 15:05:38 I'll do that now :) Just wanted to make sure -devel was the right place for that first Jun 04 15:06:09 PaulFertser: er... which wiki? thought you mentioned it above but I don't see it anymore Jun 04 15:06:32 matteosilex: https://wireless.wiki.kernel.org/en/users/Drivers/brcm80211 Jun 04 15:08:04 the factory firmware bootlog is here: https://pastebin.com/JDDeNLDQ Jun 04 15:10:01 and the bootlog I've managed to get to using the OpenWRT ELF Loader: https://pastebin.com/JtsUq0Jv Jun 04 15:12:43 precurse: so a tiny loader is indeed loaded and run. Where does it expect to find the kernel image? Jun 04 15:14:54 https://docs.google.com/spreadsheets/d/1D4J92n_HxZy9VS_5numgLe4cKsr8sf140ixCTbdZdgs is the flash layout. Kernel location is at 0xc0000, but that gets remapped during the boot process Jun 04 15:15:36 let me move that to a pastebin Jun 04 15:18:03 https://pastebin.com/LK8EeVUq there Jun 04 15:18:14 precurse: so that loader-okli is lzma-loader packed into ELF and just that. Jun 04 15:19:49 so it would need to point to the top of the lzma kernel image I assume Jun 04 15:20:08 precurse: what's your current LOADER_FLASH_OFFS ? Jun 04 15:21:42 I just can't figure out what to set LOADER_FLASH_OFFS to. I'm basing it off the CPE510: uImage lzma -M 0x4f4b4c49 | loader-okli $(1) 12288 and LOADER_FLASH_OFFS := 0x43000 which are obviously wrong for my case, but I wanted to try them to see what they would do Jun 04 15:22:14 I wouldn't think it would be as easy as setting it to 0xc0000 Jun 04 15:24:07 precurse: the loader seems to be looking through the whole flash for the kernel with 0x1000 steps. Jun 04 15:24:26 For the okli header Jun 04 15:25:01 So it should come to c0000 eventually Jun 04 15:25:13 well that definitely helps. So the LOADER_FLASH_OFFS just helps speed that up I would guess Jun 04 15:26:39 tplink_eap245v3-kernel.bin is what I placed at 0xc0000 which includes the ELF header Jun 04 15:27:01 precurse: does whatever you flash to 0xc0000 start with 0x4f4b4c49 ? Jun 04 15:28:33 matteosilex: btw, it would be interesting to learn if you get the BT coex working eventually. Jun 04 15:29:05 the ELF header is right at the start, but later in the image: 00003000 4f 4b 4c 49 cb 4e c6 74 Jun 04 15:29:25 precurse: so it should be seeing it... Jun 04 15:29:32 so that's what that 0x4f4b4c49 meant.. I couldn't figure that out :) Jun 04 15:29:35 precurse: can you stop at the uboot prompt? Jun 04 15:30:06 PaulFertser: seems like my silly question might apply to this case? Jun 04 15:30:12 I can't currently. I broke the RX pads on my board, so I need to fix that before I can Jun 04 15:30:52 ok that gives me some good insight into what I need to start troubleshooting though Jun 04 15:30:58 Thanks for that Jun 04 15:31:08 precurse: oh. I'd try from uboot to do "md" (or whatever the command to read arbitrary data is) from 0xbf0c3000 Jun 04 15:32:13 f00b4r0: your question is not silly. Plenty of targets would benefit from a good sane second stage loading mechanism. Funny that according to the serial log in this case there actually is a second stage bootloader already. But precurse is trying to add a third one on top of it :) Jun 04 15:32:37 yes I think we really need to stop with the loader stages inflation Jun 04 15:32:46 precurse: btw are you using that okli just because you want ELF? Or is there any other reason? Jun 04 15:33:39 I need ELF. the factory loader does a "bootelf 0x9f0c0000" Jun 04 15:33:58 precurse: I understand and I see no reason to not use the Linux elf directly in this case. Jun 04 15:34:13 ohh that could work too Jun 04 15:34:18 PaulFertser: for rb I'm quite convinced we could use bog standard self-extracting vmlinuz, provided it has the correct load address (trying to figure out how to do that) Jun 04 15:34:48 Is there a device already supported in OpenWRT that uses that method? I could base mine off that Jun 04 15:35:03 I haven't had much luck searching for elf support Jun 04 15:35:12 same here :) Jun 04 15:38:05 :(.text+0xf84): unsupported jump between ISA modes; consider recompiling with interlinking enabled Jun 04 15:38:16 wtf does that mean? Jun 04 15:40:14 precurse: KERNEL_NAME := vmlinux.elf in octeon Jun 04 15:40:53 Thanks PaulFertser! I'll check that out Jun 04 15:45:03 precurse: it really seems like it's as simple as setting KERNEL_NAME. Jun 04 15:45:25 hm, do we build liblua as mips16? Jun 04 15:45:40 interestingly the target/linux/generic/image/relocate stub doesn't implement the recent update to cache coherency Jun 04 15:47:11 PaulFertser: the stock firmware uses that same method :) So that would definitely be a cleaner approach Jun 04 16:31:50 ok so on rb, we have exactly 7MB to load an elf image from the bootloader. Using a standard compressed vmlinuz in that space won't work since the kernel linking process calculates the vmlinuz load address to be _after_ the decompressed image, therefore getting outside of those 7MB Jun 04 16:31:52 QED Jun 04 16:32:33 i suspect changing the kernel build system to put the decompressed kernel _after_ the compressed data isn't a good idea ;P Jun 04 17:06:37 build #383 of apm821xx/nand is complete: Success [build successful] Build details are at http://buildbot.openwrt.org/master/images/builders/apm821xx%2Fnand/builds/383 Jun 04 17:26:40 build #401 of ramips/rt3883 is complete: Success [build successful] Build details are at http://buildbot.openwrt.org/master/images/builders/ramips%2Frt3883/builds/401 Jun 04 18:01:52 build #396 of mvebu/cortexa72 is complete: Success [build successful] Build details are at http://buildbot.openwrt.org/master/images/builders/mvebu%2Fcortexa72/builds/396 Jun 04 18:03:50 matteosilex: i was just going to tell you I see no explanation for changing FWID not being reflected in output Jun 04 18:04:05 matteosilex: i'm glad you tested cold reboot and it worked Jun 04 18:04:18 it's quite weird though Jun 04 18:08:34 hi, anyone can dycrypt kernel crashes ? Jun 04 18:09:23 I got this right after I flash the firmware from serial log, "cp0_cause=00001810, cp0_epc=80400C40, ra=5526AFE8Undefined Exception happen" Jun 04 18:09:48 ador: please use some pastebin to show full log Jun 04 18:10:33 hm, no usb on the Asus RT-AC85P. Jun 04 18:10:39 which makes testing domoticz a little harder there Jun 04 18:10:50 https://pastebin.com/fXTVZ0ks PaulFertser Jun 04 18:12:29 ador: so you're using some odd OpenWrt fork that is hacked to work on Lexra and the bootloader crashes for whatever reason... Jun 04 18:12:49 unfortunately, yes Jun 04 18:13:40 ador: probably your image is just too big Jun 04 18:15:05 I mean the fork is for RTL8196C, what I have is RTL8196E..probably some instruction need to change but I don't know where to look PaulFertser Jun 04 18:15:53 ador: I suggest you start with a much smaller image. This one is likely oversized and hence you get the error. Jun 04 18:16:39 the fork is for 8M/32MB device..what I have is 4MB/32MB... do I need to change something here to make it compatible ? https://github.com/hackpascal/lede-rtl8196c/blob/realtek/target/linux/realtek/image/Makefile Jun 04 18:16:43 ador did you build the firmware? Jun 04 18:17:14 yes...firmware size is 3.5MB Jun 04 18:19:27 MTDPARTS := spi0.0:32k(bootloader)ro,-@0x9e000(firmware) ...is this 0x9e000 ~ 8MB..do I need to change this ? also my bootloader actually 64KB...so I also changed it to spi0.0:64k(bootloader) Jun 04 18:20:00 ador: can you build an initramfs image? Jun 04 18:20:46 I don't know how to...does it build automatically when I build the firmware ? Jun 04 18:21:40 make menuconfig / target images / ramdisk Jun 04 18:23:54 i'm doing it Jun 04 18:29:28 build #390 of mediatek/mt7622 is complete: Success [build successful] Build details are at http://buildbot.openwrt.org/master/images/builders/mediatek%2Fmt7622/builds/390 Jun 04 18:33:04 build #391 of cns3xxx/generic is complete: Success [build successful] Build details are at http://buildbot.openwrt.org/master/images/builders/cns3xxx%2Fgeneric/builds/391 Jun 04 18:34:23 There is an old firmware from Realtek SDK (based on barrier braker) which is around 3.7MB...but it works fine russell-- Jun 04 18:43:24 russell-- : I finished compiling.. *initramfs-kernel.bin is around 3.2MB ...what do I do with it ? Jun 04 19:04:56 philipp64|work: https://github.com/openwrt/packages/pull/12391 ? Jun 04 19:06:31 dwmw2_gone: what about it? Jun 04 19:06:43 would you care to approve/merge it? Jun 04 19:09:07 sure, was waiting for the comment to be edited. Jun 04 19:09:24 you didn't actually tell him what to put in the comment Jun 04 19:09:30 did you have a look at http://lists.infradead.org/pipermail/openwrt-devel/2020-May/023363.html ? Jun 04 19:09:34 so I guessed what you wanted, and submitted a different PR to supersede it Jun 04 19:10:38 that looks sane, and somewhat overdue. Jun 04 19:10:43 yay sprintf Jun 04 19:11:09 We're going to want that perl fix in stable branches too, since it breaks when the *host* system is updated. Jun 04 19:11:19 want me to submit separate PRs for those, or can you cope? Jun 04 19:17:50 Can we ask the 19.x maintainers to do a cherry-pick and bypass the PR process? Jun 04 19:18:13 dwmw2_gone: what are you feelings on fmemopen()? Jun 04 19:19:03 hm, I don't think I had previously been aware of fmemopen(). Jun 04 19:21:28 there’s probably more code hardening that could be done but that was the low-hanging fruit…. I guess next I’ll look at adding more compilating warnings, ASLR, etc. Jun 04 19:22:08 yeah, fmemopen() is the C equivalent to a stringstream in C++ I guess… Jun 04 19:56:16 gch981213: following up from earlier: currently it seems nothing in the build system is made to handle ELF_APPENDED_DTB, correct? All I can find are targets that expect to append to raw binary Jun 04 19:58:44 what is the policy for pushing to master for packages that I own, and for new packages that I want to own ? Jun 04 19:58:56 Suppose I should start paying attention if I'm going to properly own Domoticz. Jun 04 19:59:08 dwmw2_gone: as a maintainer you can push changes to your own packages Jun 04 19:59:26 however the rest of the github seams to prefer seeing a PR, even if you end up merging it yourself Jun 04 19:59:32 *rest of the github team Jun 04 20:00:11 Does that cover new packages and when you're taking ownership of existing packages (with the previous owner's consent) ? Jun 04 20:00:31 https://github.com/openwrt/packages/pull/12407 takes ownership of Domoticz and OpenZWave, and adds a couple of dependencies for the new version Jun 04 20:00:56 including cereal, which doesn't actually have a 'cereal' package only 'cereal-dev'. That's OK, isn't it? https://github.com/openwrt/packages/pull/12407/commits/dccd1b83ad0c122fbc88e10ea56f90d7b8dded60 Jun 04 20:02:23 hm Jun 04 20:02:41 I'd rename it from cereal-dev to cereal and remove the define Package/cereal-dev/install section Jun 04 20:02:51 new packages should go via a PR Jun 04 20:03:26 mangix: can probably tell you the current best practice in the package feed repo Jun 04 20:03:57 jow: don't we get an *empty* cereal package if we have no isntall section? Jun 04 20:04:21 in Fedora for example there's only a cereal-devel package, no cereal (since an empty package is confusing) Jun 04 20:06:22 if you remove the install section, you don't get any .ipk artifact at all, which seems preferable Jun 04 20:06:35 ah, ok. Jun 04 20:06:59 we don't support on-target compilation and have no concept of devel or header packages, so an opkg isntallabe package that just ships C++ headers likely causes unnecessary confusion Jun 04 20:07:18 I was going by the other -dev packages that I saw. Jun 04 20:07:26 such a package without an install section should be usable by PKG_BUILD_DEPENDS stell, which is what you need for header-only libs Jun 04 20:07:31 OK, I'll rip it out and just leave the Build/InstallDev rules which is all I cared about anyway Jun 04 20:07:45 s/stell/still/ Jun 04 20:08:12 gch981213: nevermind that. It's not possible to append dtb to a self-decompressing elf kernel. *sigh* Jun 04 20:08:18 but still leave the BuildPackage? Jun 04 20:08:43 yep Jun 04 20:08:49 I still get prompted for it in .config Jun 04 20:09:20 you could add HIDDEN:=1 Jun 04 20:09:37 that should make it invisible in menuconfig so that it is only selected as dependency by other packages Jun 04 20:09:48 (inside define Package/cereal) Jun 04 20:10:24 that seems to work; thanks Jun 04 20:10:33 Will do a full build and refresh the PR Jun 04 20:17:45 pushed Jun 04 21:22:57 PaulFertser: https://pastebin.com/WCEfeXDh Looks like I got Linux booting! But now I have to figure out why it hangs after the "Failed to get CPU node" line Jun 04 21:27:58 precurse: what was the trick to get it booting that way? Your problem is line 25. You do not have DTB attached apparently. Jun 04 21:28:43 precurse: and probably dtb can't be attached to ELF in a way that the hack works, I'm not sure, someone needs to check the source code. Jun 04 21:37:13 that would do it. I'll play with the tplink Makefile to see if I missed something. I used this Makefile entry: https://pastebin.com/CpgW1ViZ Jun 04 21:37:41 I'm sure I mis-typed something somewhere though, since I'm hacking my way to get this working :P Jun 04 21:39:57 oh I think I need to append-dtb for my kernel Jun 04 21:41:45 precurse: without some way of getting DTB it wouldn't work of course :) Jun 04 21:43:21 haha, of course! Thanks for your help Jun 04 21:43:46 precurse: append-dtb won't do what you want Jun 04 21:43:55 it only works for binary kernels Jun 04 21:44:10 a bit more work is needed to properly append dtb to elf kernels, as I just discovered myself Jun 04 21:44:32 interesting, that's helpful to know Jun 04 21:44:52 see https://elixir.bootlin.com/linux/v5.4.44/source/arch/mips/Kconfig#L2988 Jun 04 21:44:54 yeah I just tried it and I got the same boot result Jun 04 21:45:15 thanks Jun 04 21:45:24 some objcopy dance is necessary. That won't work with a self-decompressing kernel either, btw Jun 04 21:45:34 it'll only work with the bare elf kernel Jun 04 21:46:00 I think any ELF would work. I could try without compressing it to see if I can get it working Jun 04 21:46:15 precurse: isn't your kernel uncompressed already? Jun 04 21:46:42 oh yeah you're right Jun 04 21:46:54 precurse: any ELF won't work with the objcopy invocation listed in the link I pasted Jun 04 21:47:02 it updates a section that only exists in the uncompressed kernel Jun 04 21:47:46 that's no problem. I can keep it uncompressed and try that option Jun 04 21:47:56 precurse: I just noticed you're probably not on the current git master, but that'll be required when submitting the support upstream. Jun 04 21:51:27 precurse: if you make a build target to append dtb to an elf kernel, it might be good to make it generic: it's possible other targets might use it too :) Jun 04 21:52:58 no worries, I'll make sure to test this out on git master as well Jun 04 21:53:13 that'd be cool :) I'll definitely look at doing that Jun 04 21:53:44 thanks a ton for your help. I've been hitting my head against the wall on this one for a little while now. But at least it feels like I'm making good progress now Jun 04 22:07:42 precurse: funny we're dealing with similar issues at the same time. I just started looking into this :) Jun 04 22:07:58 anyway, time for me to signoff. ttyl Jun 04 22:08:03 ciao Jun 04 22:43:08 oh, jee, iconv(-full) didn't get an update for quite a while.. **** ENDING LOGGING AT Fri Jun 05 02:59:57 2020