Post B4qZeeika1hE62tJbM by Logical_Error@fosstodon.org
 (DIR) More posts by Logical_Error@fosstodon.org
 (DIR) Post #B4qZeVAO6PrUSrkFI8 by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Modify the kernel and deploy it  (for future me)cd mainline-linux. pmbootstrap/helpers/envkernel.shcp defconfig arch/arm/configs/expressatt_defconfigmake expressatt_defconfigmake menuconfigmake -j8deactivatepmbootstrap build --envkernel linux-postmarketos-qcom-msm8960pmbootstrap initfs hook_add debug-shellpmbootstrap exportfastboot boot /tmp/postmarketOS-export/boot.imgsleep 40telnet 172.16.42.1lk2nd should be installed in BOOTlmk if there's a better workflow #postmarketos
       
 (DIR) Post #B4qZeVNrIKdZ8e30Hw by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       android_kernel_samsung_d2$ cat ./arch/arm/configs/cyanogen_expressatt_defconfig | grep -v "#" | sort | uniqConfigs enabled in downstream kernel. Todo: see what the differences are and upstream
       
 (DIR) Post #B4qZeVbKUFPdoQLlHk by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Hm, adding too many configs causes the device to not boot because the kernel takes too much space? My theory is that while the kernel is decompressing, it overwrites itself causing memory corruption. Not sure how to validate this theory or how to solve itThis happens on lk2nd and the stock bootloader, so I’m guess it’s something with Linux. If I can’t figure out how to debug this, I’ll first strip my current config to it’s bare minimum and then add in downstream configs that exist in mainline
       
 (DIR) Post #B4qZeVnNlR3OPnzO4W by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Gah, trying to spend a couple of days on this and cant figure it outI reduced my kernel config just in case I had to get around this for now, and it looks like I do. Weird thing is that my device seems to get hotter, but oh well. I at least know the configs to disable now if I need spaceI tried making /proc/iomem look like downstream, but it’s still failing to bootAt this point I’ll have to setup my UART cable again and debug via KGDBI just want to start driver dev tho :(
       
 (DIR) Post #B4qZeW08zzGJ3NxZxo by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Hm, anyone have a way to setup a headless/USB gadget on the #pi zero w? For some reason my pi won’t connect to WiFi even though I have the SSID and password correct. Tried USB gadget, but no matter what recent guide I follow, I get “connection refused” even though I enable ssh on my pi through the installerIn the past, we could modify WiFi config via a file on the sd card, but seems like they removed that functionalityIf this doesn’t work out then I’ll just make this: https://wiki.postmarketos.org/index.php?title=Serial_debugging:Cable_schematics#microUSB/Carkit_debug_cable
       
 (DIR) Post #B4qZeWG62g1RqrQJpQ by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Lol, Raspberry Pi Bookworm’s networking doesn’t work out of the box on the Zero W. Downloading the 2020-02-13-raspbian-buster-lite.img seems to work so I’ll just stick with that. Finally got my UART cable workingTried to be smart and hook up a USB cable and a UART cable to my phone, but it doesn’t work. I think for debugging, I’ll have to flash the emmc. Hopefully I can use lk2nd soon so i don’t wear out the emmcNow time to debug why enabling a lot of configs crashes the kernel
       
 (DIR) Post #B4qZeWUz9Jvqb2OD2G by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       I thought I could get around flashing constantly by doing the USB and UART combo. I could then use “fastboot boot” instead to directly load it in memoryWhile rigging up the USB part above, it was interesting to note that I had to twist the D+/- wires! Without it, my computer couldn’t read my phone’s output. It was cool to see electromagnetic fields cause corruption on USBAnother strange bug I encountered was that turning off my laptop’s WiFi helped the Pi connect. Unsure why
       
 (DIR) Post #B4qZeWjWHHYfK7Bogq by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Thought I would build my downstream kernel for fun. Downloaded 16.06 Ubuntu, loaded up gcc and gnueabihf version 4.9 on it + other necessary build tools, and passed the appropriate ARCH, CC, HOSTCC, and CROSS_COMPILE variables to make. Recent versions of Ubuntu couldn’t get gcc4I think it’ll be useful, since there are a lot of files that I don’t understand in the downstream kernel. I’m going to remove files that aren’t necessary to builds and then run ctags
       
 (DIR) Post #B4qZeWwHVplZxhA0a8 by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       To do that I’m going to add KBUILD_VERBOSE=1 and then build it. It should output all .c files it needs, and I should be able to just delete the other .c filesThen I’ll probably go through the .c files and get all the .h files needed by it. Those .h files might be dependent on other .h files, so I’ll prob have to recursively iterate that. I’ll prob ignore <> since that’ll be included with -I? idkIn the end I should have a minimal kernel? Need to test this theoryI’m having a lot of fun :D
       
 (DIR) Post #B4qZeX8Kn1PKZ4ndMu by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Before this I was trying to get the framebuffer working, but my device has its framebuffer disabled. I’ll have to setup a display driver, but searching through the code was a pain, so that’s why I’m trying to reduce the downstream kernel to the bare minimumBringing up i2c and then working on touchkeys is a good first step. I don’t know the i2c subsystem well and touchkeys seems simple enough to understand. Lots of other peripherals depend on i2c, so this will be good to test and learn things
       
 (DIR) Post #B4qZeXKk2tKfBYbXhw by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       While compiling and doing other things on my computer, it started to thrash. Guess it’s starting to show its age!I like old computers like this though. Even though it takes time to compile, I feel like using older devices is nice for the reasons below (no particular order)1) Sympathizing with those with minimal computing resources2) Environmentally friendly3) Decrease consumerism4) Reduce impact in slavery (eg. DRC)5) Emphasizes lighter softwareThat’s why I like postmarketOS so much!
       
 (DIR) Post #B4qZeXX9IlFzo2PS2y by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Cool, got a minimum kernel where all the .{c,s,S,h} files are all the important ones. Initally I didn't want to make a parser like I originally stated, so I attempted to brute force it. Tried various algorithms and doing full rebuilds (partial rebuilds didn't recompile everything), but it would take a couple daysFinally got a way to output all dependecies:- remove `rm -f $(depfile);` (*.d files contain dependecies)- run `make` with `-d` (I ran it on --debug=implicit)
       
 (DIR) Post #B4qZeXjuXJSuRcNdwG by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Awesome, after a nice holiday break and a workflow upgrade detour, I finally got back into kernel developmentLooked at mainline linux and downstream for a while and figured out a few things- touchkeys are a simple way to start- cypress,tm2-touchkey is a generic mainline driver that I should put my touchkey support in- board-<machine> is essentially the dts file. need to manually parse it to convert it into a modern dtsAfter enabling the touchkey and led regulator, the led turns on!
       
 (DIR) Post #B4qZeXvFr8XV0nghcW by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       There seems to be support for firmware upgrades, touchkey calibration, and raw data support in the downstream driver, but I’m unsure if that will be necessary in the mainline kernel. IIRC the tm2 driver doesn’t have that supportSince I’m essentially the only user of this phone, I think I’ll put that in the backlog for now
       
 (DIR) Post #B4qZeY6bAxc5ZyzlIm by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Quick updates:- Pivoted to GPIO keys to understand the DTS more. Very similar to touchkeys. evtest doesn't work so DTS is wrong :(- Couple hours wasted only to find out $builddir was set wrong- Need to setup LSPs for neovim. It's slowing me down trying to grep for things. Using kickstart.nvim- In downstream kernel, converted all configs that were in defconfig to true. Saves time just looking at the source code and not referring to the defconfig- Building kernel on PPP is slow :(
       
 (DIR) Post #B4qZeYJ0QpXQCSnfdo by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Got gpio-keys working! 🥳 Going to send patches upstream, make a blog post on how I approached the problem, and then work on cypress touchkeys nextHuge thanks to @alexeymin for helping me! It was great to see how he figured out the problem
       
 (DIR) Post #B4qZeYR9wW3mbkcBLk by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Kinda was dreading sending emails upstream, but I found a very friendly b4 video: https://www.youtube.com/watch?v=QBR06ml2YLQThis is a very well done video
       
 (DIR) Post #B4qZeYaNOFQt4KvXiS by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       And here's my post on gpio-keys! I'm thinking about switching to markdown cause manually editing HTML was not funhttps://logicalerzor.codeberg.page/content/gpio-keys-an-intro-to-kernel-dev.html
       
 (DIR) Post #B4qZeYkem1ejaDjkjw by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Currently a bit stuck of touchkeys. There’s a mainline driver thats extremely similar to what’s already been done, but for some reason it’s just not working. My hunch is that the sda/scl (the communication lines) are messed up or maybe the dts is, but everything looks right to me.I’m just going to switch over to trying to enable the touchscreen. Hopefully that is easier?
       
 (DIR) Post #B4qZeYve7ARk8IsWrw by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Hm, I think I might have to hunker down and just read John Madieu “Linux Device Drivers Development” cover to cover. This is a bigger uphill climb than I realized since it’s not just driver development, but also figuring out what features are missing in the upstream SoC itself and implementing/enabling that. Searching downstream code is hardI’ll use this time to get a setup a better neovim development environment and also get my blog sorted out too. Hopefully I can get through this quickly
       
 (DIR) Post #B4qZeZ49bXFgYgrK88 by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       I almost got the Atmel touchscreen working today. Seems to randomly work and not work, but I don’t know why. Or maybe it’s fooling me into thinking that it’s working, I don’t knowI think I figured out for certain that the touchkeys don’t work because they aren’t on the correct i2c bus. It seems to be on gsbi10 by the looks of it, but there’s no data sheet to be found unfortunatelyMight try to get the vibrator and tsens working. Hopefully low hanging fruit
       
 (DIR) Post #B4qZeZEmxzl75fpohs by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Woo! Got touchscreen working :)Gotta make another blog (first gotta refactor my blog to use Hugo) and send patches upstreamProbably will try to attempt the touchkeys again while attempting the vibrator and tsens as wellSome things missing:- display- speakers/mic- cameras/flash- sensors (proximity, light, etc.)- gyroscope, accelerometers- wifi/bluetooth/gps (functionality provided by modem?)- nfc- battery/chargingThis is what I know of, but there might be others that are missing
       
 (DIR) Post #B4qZeZQ8Hopher8sO8 by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       My touchscreen blog is up!https://logicalerzor.codeberg.page/blog/mxt224s-touchscreen-kernel-dev/
       
 (DIR) Post #B4qZeZXDrSVK0qSXRI by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Hm, struggling with getting an i2c-bus up. Seems like touchkeys isn’t on GSBI10. Looks like Linux wants to add 512 to the GPIO for some reason?Eg. when I specify that I want to have an i2c-bus on GPIO 71(sda) and 72(scl), the logs says “using lines 583 (SDA) and 584 (SCL)”Don’t know why it’s doing this or how to solve this :(
       
 (DIR) Post #B4qZeZhrDv0kXpR212 by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       NFC support is also in mainline, but it’s also on its own I2C bus. So I have to figure out this issue first before I can add these two peripherals to my device
       
 (DIR) Post #B4qZeZq0jbX6x7FXiy by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Argh, I’m hitting the initrd error once again. I switched over to try and get nfc working on my device, but reenabling the networking stack seems to make my device panic :(Seems like I have to spend a lot more time on figuring this out, at least to get it booting againThe problem: https://wiki.postmarketos.org/wiki/Qualcomm_Snapdragon_S4_Plus_(MSM8960)
       
 (DIR) Post #B4qZea1M3QbhWIYbPE by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Hm, it seems I can boot now, though I don’t know why. I saw that a bunch of TV configs were =m so I removed them. It started working after that. I also modularized a bunch of configs. If I were smart, I would’ve saved my config progress and tried to find the config that causes this issue. Would most likely be a false positive thoughNow that I got it booting again, I can test both NFC and touchkeys. Seems like I’m still having trouble with i2c bus :(
       
 (DIR) Post #B4qZeaETGf6CAyh4qm by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       There are around 600 remaining configs that I have to go through in the downstream config. I can get an accurate understanding on what’s mainlined already (a lot of what I’ve done so far is just enable mainlined functionality, which is nice) and what feature I need to create drivers for. It’ll also help me understand what features there are in my phone as well
       
 (DIR) Post #B4qZeaMyl1u8bMfs6y by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Randomly figured out what was causing the initramfs problem. The bootloader that’s built into the phone can only boot Android boot.img. Contained within it is a kernel and a ramdiskI never paid much attention to the ramdisk, since I’ve only modified the kernel, but turns out that the ramdisk is the initramfs. When running mkbootimg (this is to create a boot.img that my phone can boot), you specify where the ramdisk is stored in memory
       
 (DIR) Post #B4qZeaV8GiQV0eUNou by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       The downstream boot.img stored it in a location close to the kernel. So when I added more configs to the kernel, it decompressed beyond the kernel’s size and overwrote the ramdisk that was in memoryI increased where the ramdisk is stored in memory, and I no longer get the initramfs errorSucks that it took me this long to figure out. I wish postmarketOS had a forum so that a question can be searchable via a search engine. Matrix search sucks
       
 (DIR) Post #B4qZeacZp2NhNjyKQK by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Now trying to test my i2c stuff. I have two nodes in the dts: NFC and touchkeysTouchkeys doesn’t want to work, even though the dts looks the same as the boardfileTrying to get NFC working, but neard doesn’t run in debug shell. Having trouble figuring out how to add the neard executable into debug shell or sshing/telneting into my phone without a debug shellIf my phone can detect NFC that’d be great. I’d then know that the device node was bad. Otherwise back to the drawing board
       
 (DIR) Post #B4qZealnGlknqKHgn2 by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Hm, have a weird ssh/telnet issue going on.telnet works in debug-shell, but neither telnet nor ssh work after booting past thatDoing https://wiki.postmarketos.org/wiki/USB_Network#SSH_issues makes telnet stop working in debug-shellI have no other way to get a console. openrc throws errors regarding udev, logging, and clock skew, but i don’t think any of these should affect ssh, right?Banging my head against the wall trying to understand and fix the problem here
       
 (DIR) Post #B4qZeayYVJxiTuFsgK by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       So I got telnet working in debug shell (postmarketOS now uses NCM rather than RNDIS and seems like there’s an upstream USB regression as well) but still struggling to get telnet/ssh after debug-shellI think I’m supposed to wait till #OpenRC boots up all the way for ssh access? Got through some problems (enabled UNIX config and increased ramdisk offset)The current problem I’m facing is OpenRC hanging on “SVCNAME=dmesg”. /etc/init.d/dmesg is a simple script. Maybe missing kernel configs? Dunno
       
 (DIR) Post #B4qZeb9tp92J35YwMa by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       So I kept enabling more and more linux configs, and now it doesn’t fit in my partition anymore :/I knew I would have to do this eventually, but I guess nows the time to add armv7 support to u-boot. Luckily it doesn’t look like a lot of work since I’ll be building on top of Caleb’s work, but I also don’t know what I’m doing lolI could modify lk2nd to boot from another partition… but meh, seems like it’ll be smarter to get u-boot instead long term
       
 (DIR) Post #B4qZebO4yQNXl4CGSu by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       A bit irritated here… Here’s what I have to do to figure out why my i2c gpio devices aren’t working:- Add i2c-gpio devices in dts (Doesn’t work)- i2cdetect (Doesn’t work in debug shell)- Enable configs to boot Linux (Doesn’t fit in partition)- u-boot (Stuck trying to get UART output)- Use Kexec instead of u-boot (pmOS now thinks my phone is ARM64)Anyone know how to write an ARMv7 UART program in assembly? UART works in Linux, but frustrating not knowing what I’m doing wrong
       
 (DIR) Post #B4qZebZ4JZAYJ9L2au by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Ended up making a mainline builder script that just has Linux and busybox: https://codeberg.org/LogicalErzor/mainline_builder/src/branch/masterNo root needed (for now), and this is all built locally. I'll probably expand on this to include more tools to help me mainlineThis should hopefully help me use i2cdetect and other tools. I can easily kexec into another kernel now too to save my eMMC from being written to oblivion and also hopefully have more space to enable configs
       
 (DIR) Post #B4qZebk3ehxYrEToiu by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       decided to give mainlining a go once again, but hitting memory issues. decided to make a pmbootstrap issue about it: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3512not too sure how to proceed. asking online gets me no answers. i don't know anyone who can help me. just frustrating being in a dead end...
       
 (DIR) Post #B4qZebuL2UBPN7I1kO by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       wow, the pmos community has changed, and for the better toohuge thanks to sam:samcday.com on matrix. he basically sat and helped me work thru lk2nd (bootloader) bugs, until i actually got it working! prob spent 8 hours at least just helping meunfortunately i havent solved the above issue yet, but people in the chat seem to think its not a memory problem but maybe a config one. i need to play around with some of the suggestions and see if any work for me
       
 (DIR) Post #B4qZec62KzXZxOlMyu by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       @javierm Hi! Thanks for making dowhile0. It’s come in use so many times while i am trying to mainline my phonei have a problem thats been confusing me for a while: my emmc and sd card can rw, but it seems like if there are too many ops at once it hangs. do u know a way to debug this? there is downstream but it uses board filesas u can see above, ive been thinking this is a memory problem for the longest time. any information for this newbie is much appreciated. thanks!
       
 (DIR) Post #B4qZecI5cBBKYmOzlg by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       main problem here is https://pastebin.com/qGbfFGUtsmall rw’s are fine, but big ones hang the system: https://pastebin.com/Tkx7Bw0qthe person trying to help me couldn’t figure it out eitherat this point ill try for a bit more before just giving up on this unfortunately
       
 (DIR) Post #B4qZecPt9BQ6wy3DvM by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       oh my fucking gosh it actually boots into a shell!!!!!im so happy!!!i was considering abandoning this project entirely just a day ago and i cant believe this is working now. holy shitHUGE thanks to Sam… wow without him this would be dead in the wateri will probably make a short blog about this!
       
 (DIR) Post #B4qZeccIP3LRZRr8GO by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       Blog!https://logicalerzor.codeberg.page/blog/lk2nd-and-shells/
       
 (DIR) Post #B4qZeclrpT0838KmBM by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       thanks to wctrl’s help, ive gotten tsens working for the msm8960!https://logicalerzor.codeberg.page/blog/increasing-the-temperature/nfc is super annoying. dunno why even tho its matching downstream it refuses to work
       
 (DIR) Post #B4qZecsFRk6aMvJs80 by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       man, some linux maintainers’ comments rival the squiggles on doctor’s notesu dont understand what they try to get at
       
 (DIR) Post #B4qZed4IivkKyIxUum by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       was getting a bit annoyed that when sending patches upstream, i would usually go through the same commands when submitting patches upstream. thought it would be better to make an interactive session so introduced `b4 flow`:https://lore.kernel.org/tools/20250302-flow-v1-1-3247c022bbac@gmail.com/T/#uBased on:- https://www.youtube.com/watch?v=QBR06ml2YLQ- https://www.youtube.com/watch?v=-Vld9aoFPwU
       
 (DIR) Post #B4qZedDs9LP1RzR8pk by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       checking ur dts on msm8960 platforms should now yield no errors!https://lore.kernel.org/all/20250318-expressatt-solve-dts-errors-v1-1-14012a4bc315@gmail.com/edit: forgot to thank @okias for showing me the patches for apq8064 (msm8960 and apq8064 are very similar, enough so that i can copy some patches from there and it will “just work”)
       
 (DIR) Post #B4qZedPvQX2m3N4lcW by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       a lot of cleanup has happened since this time. some notable thingshttps://gitlab.postmarketos.org/postmarketOS/pmaports/-/tree/master/device/testing/device-samsung-expressatt -> useful b/c i can point other msm8960 devices owners to get their device up and running and it publicly documents a working kernel (one has already mainlined with this!)https://wiki.postmarketos.org/wiki/Samsung_Galaxy_Express_SGH-I437_(samsung-expressatt) -> revamped my page to help others mainline and document testshttps://wiki.postmarketos.org/wiki/Qualcomm_S4/Krait_200_mainlining -> wctrl and i decided to merge the mainlining guide for the entire S4 family to encourage others to join
       
 (DIR) Post #B4qZedaYmzYCaM3GCG by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       if you have a spare phone, you can check https://www.gsmarena.com/ to see what the SoC isif it's one of the following...APQ8064APQ8060AMSM8660AMSM8260AAPQ8030MSM8930MSM8630MSM8230MSM8627MSM8227MSM8625MSM8225IPQ8064MSM8960...consider joining us!we have a matrix chat: https://matrix.to/#/#linux-apq8064:matrix.orgdoesnt matter if ur totally new too :)if it's not on the list, u can check https://wiki.postmarketos.org/ to see if there are others with the same SoC and join them
       
 (DIR) Post #B4qZednK1Xl7Dw1S5Y by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       ill prob be working on my first driver soon. it will be based on this:https://codeberg.org/LogicalErzor/Android_Kernel_Samsung_D2/src/branch/cm-14.1/drivers/motor/tspdrv.cif anyone has any suggestions on how i can convert this into an upstream driver, im all ears! noobie advice is welcome :)most of my mainlining time is reserved for weekends, so i would really appreciate tips on figure out how to be faster as well :D
       
 (DIR) Post #B4qZedxFQdhNiifNYm by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       oh yeah, i also hit this bug when trying to build against an Alpine Linux pkg:https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/merge_requests/2601big thanks to @craftyguy for solving this!it seems like it's currently unknown why find() is returning none when it shouldnt. mypy isn't complaining about it either#rustlang probably would have prevented this bug (sorry i couldnt help it :P)
       
 (DIR) Post #B4qZeeAMdsBsNOnr0K by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       i wanted to continue my first linux & rust driver but a weird bug keeps biting my butt. essentially:- generated pmOS img (with rust included in linux-next) works: https://pkgs.postmarketos.org/package/master/postmarketos/armv7/device-samsung-expressatt- locally built kernel without rust works
- locally built kernel with rust doesnt worklocal cmdsmake LLVM=1 O=.output ARCH=arm qcom_defconfig pmos.config devices.config allpmb build --envkernel linux-nextpmb build --force device-samsung-expressattdunno how to debug this :/
       
 (DIR) Post #B4qZeeN7sQOn0ym2tc by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       so now apparently expressatt isn't outputting anything over uart in v6.17, but it is for v6.16bisecting it leads to @z3ntu's patch https://github.com/torvalds/linux/commit/9f2cbfcda595b6d741adf71058c60476b8d21028but it doesn't even make sense as this doesnt even remotely touch msm8960 or uartnot sure what to do :/. was gonna test my vibra patch on top of the latest patches... but its seems like im encountering something else entirelymaybe reserved memory or something? i have no idea how to debug this at all
       
 (DIR) Post #B4qZeeZt6ybheYkEmu by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       the strangest part is that other msm8960(t), and even msm8226 device owners arent encountering any problems like this
       
 (DIR) Post #B4qZeeika1hE62tJbM by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       the waiting game works and uart is working again :D——i also decided to try to use ai to get a peripheral working. so far i got the magnetometer working but not sure if the orientation is rightgonna write a blogpost about my experience. tldr, ai has a great breadth of knowledge to pick at, but sometimes its confidently wrong which is annoyingi hope to also get the accelerometer working. as its on the same i2c bus. maybe other things like the vibra might be easy to get working too?
       
 (DIR) Post #B4qZeery1l4KYdCfy4 by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       expressatt accelerometereasily got the accelerometer working after the magnetometer. was on the same gsbi bus so it was as simple as adding the device and specifying certain thingsngl ai also listed other things that were also already upstreamed in mainline linux, so hopefully i can easily get nfc working with its help nowmount matrix is likely wrong so the orientation of the device will be off
       
 (DIR) Post #B4qZef0TW7sGz1BTEG by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       expressatt: possible compiler bug?so a while ago i was having trouble cross compiling rust+linux on my computer. the kernel was working when i built it in pmbootstrap but when i built rust+linux outside pmbootstrap and simply told pmbootstrap to use the result, it wouldnt booti just realized now that it could be a cross compilation bug within llvm. pmbootstrap uses a chroot (which emulates a arm32 env) and cross compilation is x86how do i report this? how do i narrow this down?
       
 (DIR) Post #B4qZefBopwwrYCUWuW by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       so multiple updates:- i think iommu works now! afaik this is mem management for the gpu and a neccessary prereq. try to get adreno 225 working but proving to be a lot harder. luckily (or unluckily) iommu is broken for apq8064 so i can test if my patch works- got the prox/light sensor working. prox is giving bogus values but light works- linux-next with just llvm might be an issue? apparently the change i made was using both llvm and gcc, so thats why it was working https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7335/diffs
       
 (DIR) Post #B4qZefPzzEI6GB7r0q by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       ai is a huge help ngl. its turning what used to take me weeks to something that i can churn out in a couple of daysonce the next stable release comes out, i will blog about all the patches i will send upstream and the usefulness of ai
       
 (DIR) Post #B4qZefaHN0Vwm3w42K by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       holy moly just got nfc working as wellwhat literally was taking me months to fail at solving took mere minutes for the ai to solvethis upcoming patch series is gonna be a big boi. really excited to write up a blog once i send the patch seriesmost importantly, im having so much fun! im not getting frustrated at being stuck and then being ghosted when i ask for help, since there is always something to do and something to look into :D
       
 (DIR) Post #B4qZefn2bYirPduFvc by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       here's my blogpost on using AI to create linux kernel patches!https://logicalerzor.codeberg.page/blog/sensing-sensors/
       
 (DIR) Post #B4qZefvu4boNr83Kk4 by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       expressatt mainlining journey: touchkeys are working now!https://logicalerzor.codeberg.page/blog/touching-touchkeys/
       
 (DIR) Post #B4qZeg7FOQsyQJMOQK by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       expressatt mainline journeyrecently got vibrator up and running and i just have to clean it up and send it upstream. that leaves the following harder stuff left:display/gpuspeakers/microphonecameras/flashwifi/bluetooth/gps (from modem?)battery/chargingany good readings for the qcom platform? some of this is upstream (i think charging, wifi/bluetooth, gpio expander (camera), and iommu (display) are upstream)im assuming ill need some amt of background context to get this implemented
       
 (DIR) Post #B4qZegHAnWpEv60JtY by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       expressatt mainliningand here's the short vibrator blog!https://logicalerzor.codeberg.page/blog/vibrating-vibrators/
       
 (DIR) Post #B4qZegOyKX41JHeY3E by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       been a couple of months, but finally got around to reporting that rust doesnt work on armv7 if u only specify LLVM=1 on Linux. if u specify LLVM=1 and CC+=gcc, only then it will workfigured this out ~1 month ago because adrianyyy@chaos.social fixed linux-next to only use LLVM (whereas before it was using LLVM and gcc). this seemed to break my setup, and confirmed what was happening when i was externally building the kernelhttps://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/issues/2635#note_520266
       
 (DIR) Post #B4qZegWlrXInhTImCu by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       expressatt mainliningstarting to look like an clang/llvm issue for armv7 devices as i can replicate it on qemu-armhttps://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/issues/2635
       
 (DIR) Post #B4qZeggLHwxUB9mQ7s by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       expressatt LLVM issueturns out lk2nd cant boot anything larger than 21 MB…welp time to focus on the bootloader now (or make linux-next configs smaller). i want to do linuxboot (using linux as the bootloader) but might go to uboot if thats easier
       
 (DIR) Post #B4qZegnQrad6X965B2 by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       how i started with linuxwith a heavy focus on expressatt :)https://logicalerzor.codeberg.page/blog/how-i-started-using-linux/
       
 (DIR) Post #B4qZegy4E38X484Zkm by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       expressatt downstream readingu know how u can connect the pinephone pro to an external monitor and it just works as an external screen? apparently before usb c display alt mode (which is the functionality that makes the feature work) there used to be MHL cables going from micro to hdmi with usb a as an external power sourcecursed but somehow i love it lol
       
 (DIR) Post #B4qZeh5rl3NJSJinuS by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       expressatt android phone progress - road to mainline linuxsomeone has gotten wifi/bt working, but i havent been able to test it because lk2nd is giving me troubleafter reading https://www.anthropic.com/engineering/building-c-compiler i wondered if claude could easily get downstream stuff working on mainline linuxafter a couple days, i got this commit in: https://codeberg.org/LogicalErzor/linux/commit/6878d1cc1670fc63ba3cba52d4eb08c7a889db17most of downstream should be ported i think. also vibecoded uboot and linuxboot supportwill see if it works when i get the time
       
 (DIR) Post #B4qZehHZ3YjU2bC98y by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       expressatt android phone progress - road to mainline linuxgot linuxboot working! :)https://codeberg.org/LogicalErzor/QuickDirtyBoottbh using linux as a bootloader makes a lot of sense. uboot and lk2nd is just duplicated effort. a linux distro with kexec tools can work toobenefits: linuxboot now shows the memory holes to mainline linux, something that lk2nd was lacking. can now boot from a sd card :). no more wearing down the emmcthanks @CyReVolt for showing me this :D
       
 (DIR) Post #B4qZehV2FTVYiNUu8m by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       expressatt android phone - road to mainline linuxgot camera flash, fuel gauge, and almost have display working. i see white horizontal bars and red and green pixels splattered on the screen. its close! - https://codeberg.org/LogicalErzor/linux/src/branch/expressatt- https://gitlab.postmarketos.org/LogicalErzor/pmaports/-/commits/expressatt-tmp-progressand linuxboot can now read cmdline from extlinux.conf and patch the memory node in dts live- https://codeberg.org/LogicalErzor/QuickDirtyBootstill need to test wifi that someone got working and vibrator that i have laying around. so much todo
       
 (DIR) Post #B4qZehh5Wf9JJl8WvY by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       claude 4.6 is quite nice!i can give it something to do and quickly test the output when finished. this is useful when i have a small window at workai can potentially be used for automated mainlining work. the pmOS CICD PCB can potentially be used to eg. make a for loop to run multiple agents, give claude downstream and mainline kernels, and let it build, flash, and test on its ownthis is not to hide the bad parts of ai. theft and burning resources are bad (tho i think copyright is stupid)
       
 (DIR) Post #B4qZehs4rnwJrqHJ3Y by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       expressatt android phone - road to mainline linuxwant to edit WCNSS_qcom_wlan_nv.bin files but don't know how? well ive got the utility for you!https://codeberg.org/LogicalErzor/WCNSS_Binary_Makernow you can easily tune the wifi chip to your liking! power levels, antenna configs, countries, etc.(mainly made it to remove mac addresses, but should be useful for that too. warning: vibed)and yep, got wifi/bluetooth working! had to add a little bit of elbow grease on top of someone else's patches but finally worked :)
       
 (DIR) Post #B4qZei488za4TDuvqK by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       expressatt android phone - road to mainline linuxsent camera flash patch series upstreamhttps://logicalerzor.codeberg.page/blog/camera-flash/
       
 (DIR) Post #B5sYHTH7Ite46HmXuS by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       expressatt -> android phone - road to mainline linuxgot battery % readings working!https://logicalerzor.codeberg.page/blog/expressatt-fuel-gauge/
       
 (DIR) Post #B5sYHTZYCMOH1SPGds by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       android phone (samsung expressatt) linux mainliningi have the display somewhat working so far (i get a white horizontal bar at the top and splatters of red and green pixels which slowly accumulate and the screen gets whiter and brighter) but i cant figure out what's wrong. i've tried looking into iommu, mdp4, display driver, axi clk, etc. but nothing was really clear for merepo: https://codeberg.org/LogicalErzor/linux/commits/branch/expressattlogs: https://pastebin.com/t0exNX38any help would be appreciated!#Linux #PostmarketOS
       
 (DIR) Post #B5sYHTrz5p8Twd1zNI by Logical_Error@fosstodon.org
       0 likes, 0 repeats
       
       android phone (samsung-expressatt) linux mainliningstill trying to get display working on msm8960 samsung-expressatt. with ai’s help, the login prompt now appears for a few seconds, but glitches out (bottom and top 2/3 of screen glitch out differently). (logs https://pastebin.com/MK2NhF8V) (downstream https://codeberg.org/LogicalErzor/Android_Kernel_Samsung_D2/commits/branch/downstream) (upstream https://codeberg.org/LogicalErzor/linux/commits/branch/expressatt). suspecting a issue with mdp4/iommu, but not sureany help is appreciated#Linux #PostmarketOS