fl42v

joined 2 years ago
[–] [email protected] 1 points 3 weeks ago

Richard, maybe

[–] [email protected] 1 points 3 weeks ago

You mean searching github with "lang:nix"?

[–] [email protected] 1 points 3 weeks ago

I mean, VHEMT is a great ideology and ever, but the dude seems to have missed the "voluntary" part.

[–] [email protected] 1 points 3 weeks ago

Welp, I'm into neither stockings nor potato bags. Just plain straight preferably black jeans with deep pockets

[–] [email protected] 2 points 1 month ago

I propose renaming him to Ben Chapitau. Much more suitable for a clown.

[–] [email protected] 0 points 1 month ago

In my case it was soundcore's app (no, openscq30 didn't work), so it had a need for network access to update the firmware, for example, I just didn't want to give it at the moment. As for being poorly made, also not exactly: as I've mentioned, android gives this permission by default, and it's reasonable to assume it stays so. Graphene basically "breaks userspace" here.

[–] [email protected] 5 points 1 month ago (3 children)

I remember some particular apps not liking that one. Basically it exposes the permission that's otherwise always granted, and if the developers didn't make a catch all for network errors, the app crashes. Mobile data usage → allow network access favors better in that regard.

[–] [email protected] 4 points 1 month ago* (last edited 1 month ago)

As always, the answer is "depends". It shouldn't hurt unless you're dual-booting windows (they used it last year as a weapon in their "mess up grub" game), but, Imo, it's worth the trouble if:

  • your data is also encrypted -- otherwise one just removes the HDD/SSD and reads what they need;
  • you provision your own keys -- to not depend on Microsoft signing shims for you;
  • you delete the already provisioned keys -- Microsoft signed a few vulnerable things, like one kaspersky's (iirc) live CD with grub not locked down, so one can boot up literally anything anyway;
  • you lock down grub or whatever bootloader you're using -- otherwise you become that vulnerable live cd;
  • you password lock the uefi -- otherwise one can simply disable the secureboot;
  • your vendor's implementation isn't terribly buggy -- iirc, some MSI laptops would just ignore all the discrepancies.

So, a lot of ifs, and a necessity to store the uefi password somewhere safe, as those may be a pita to reset.

As for standalone stuff -- idk, it might protect you from malware injecting itself into the bootloader or something, but given there's likely no chain of trust (I.e. the bootloader doesn't check what it bootloads), it can move in on some later step.

[–] [email protected] 1 points 1 month ago

This, but backtrack 5 (the one just before kali). On a laptop that'd take several eternities to brutforce an md5 🤣

[–] [email protected] 7 points 1 month ago

Reminded me one of the vids of f4mi, although that ladiy's approach is far more beautiful. Basically, she took advantage of ai scrapers relying on subtitles and YouTube allowing for pretty advanced styling of those very subtitles to insert garbage that only bots will see.

To those interested in the details, https://www.youtube.com/watch?v=NEDFUjqA1s8 (selecting a working invidious instance is left as an exercise for the reader)

[–] [email protected] 7 points 1 month ago (2 children)

Quite simple, actually. If you want to do a thing that violates a law, you modify the law to allow the thing.

 
15
submitted 6 months ago* (last edited 5 months ago) by [email protected] to c/[email protected]
 

Basically, a collection of notes on building and running libreboot on t480. Hope it helps sb avoid a few pitfalls I've personally encountered. Corrections/other ways to do stuff are welcome.

  1. If you're building libreboot from source like I did, you may want to replace repo URLs with mirrors in config/git/grub, as gnu repos are slow AF;
  2. To boot your system, you'll need it to either be bootable via legacy bios (libreboot uses seabios by default), or, more realistically, have grub bootloader. On NixOS, I've changed the bootloader config to:
boot.loader.grub = {                          
  enable = true;                  
  device = "nodev"; # generate grub.cfg without installing grub itself  
  theme = lib.mkForce null;       
  font = lib.mkForce null;        
  splashImage = lib.mkForce null; 
};                                

Notice the disabled theming/fonts/background image: in my case, libreboot's grub would only show the blank screen 'til I disabled them, so you may want to trim your config to only menu entries or something. Then when booting, you simply press ESC, choose grub, and select either loading the OS or searching for bootloader configs on NVMe.

  1. If you didn't do [2], and are unable to boot your system, you may have some trouble with seabios not seeing your live USB you're bringing to fix that. In this case, try again a few times: as far as I can tell, that happens when you press ESC too early.
  2. Having seabios auto-start grub: echo '/rom@img/grub2' > bootorder && cbfstool libreboot.rom add -f bootorder -n bootorder -t raw (slightly modified command from here). Dumping and re-flashing libreboot without an external programmer is done with flashprog -p internal and requires iomem=relaxed in kernel cmdline;
  3. Annoying stuff: FnLock turns on when booting or waking up from sleep; unsure on how to disable this as nvramtool refuses to work (mb a skill issue). Also, disconnecting the external battery while the laptop is powered on seems to cause a reboot.
  4. Libreboot's grub can be themed: see this for how it's currently done (although, note, that we need config/grub/xhci/config/payload and not config/grub/default/config/payload) and this for an example of how it can look.
  5. Battery stuff, probably related to the Embedded Controller's firmware: charge thresholds don't seem to work (and the corresponding files are missing), ~~/sys/class/power_supply/BAT1/energy_{now,_full{,_design}} are now charge_full{,_design}, new option current_now~~ [Edit 3: this seems to be related to changes in the kernel or something]

[Edit] 2 more bugs:

  1. ~~Charge cycles are always 0 [mb an issue with my batteries, tho]~~ [Edit 4: at least one person reports their batteries reporting charge cycles as intended; likely the problem with my batteries];
  2. ~~The laptop constantly tries to power on if it dies due to depleted battery.~~ ~~[Edit 4: Possibly a one-off or a different reason altogether, couldn't trigger it again.]~~ [Edit 5: reproduced it; seems to happen when both batteries are present and upower is not installed; works fine with upower, tho]

[Edit 2]:

  1. charge measurements don't play well with cosmic-epoch on nixos in my particular case: the percentage doesn't seem to get updated, but looks somewhat correct upon reboots;
  2. Reduced backlight brightness range: /sys/class/backlight/acpi_video0/max_brightness is now 15, and not ~1515 as it was before.

[Edit 5]:

  1. Mute/micmute indicators not working;
  2. Monitors connected via the dock aren't detected when hot-plugged (works fine on {re,}boot, mb distro-related?)
350
submitted 6 months ago* (last edited 6 months ago) by [email protected] to c/[email protected]
 

Well, technically anywhere from 5 to 40, but I still have a nice chance to grow old before libreboot starts building. Also, still slower than dial-up.

 

While the whole exchange must've sucked for them, I've found their reaction extremely amusing at times, especially the carpet banning for life of everyone within a country/state to the offending party. But hey, that'll definitely show AMD how to hire those coreboot developers

 

So, yet another "if you're in the middle of nowhere and can't/don't_want_to wait for proper tools to arrive" kind of post.

Firstly, there's pico-serprog with quite good instructions from the libreboot project. Unfortunately, it didn't want to detect the chip at all in my case (in hind sight, likely due to the board pinouts being different between my board and a regular pico and them providing pico pins and not gpio numbers)

What worked, albeit rather slowly, was pico-dirtyjtag. If using this one, the connections are as follows:

  • cs - gp19
  • miso - gp17
  • mosi - gp16
  • clk - gp18
  • gnd - gnd
  • 3v3 - 3v3

The chip pinouts can be sourced from the libreboot guide/a laptop schematic/ic datasheet. Flashing with sudo flashprog -p dirtyjtag_spi -w rom.rom (or flashrom instead of flashprog). It may complain that there are multiple definitions matching the chip, in which case you manually choose one of the mentioned with -c (in my case -c W25Q32FV and -c W25Q64BV/W25Q64CV/W25Q64FV for top and bottom chips respectively).

Also applicable to stm boards with the main dirtyjtag repo.

 

So, I've dug up my corebooted t440p and decided to check if it'll work with the battery from my t480, and it did! Well, sort of.

Since coreboot also replaces the embedded controller firmware (mb sometimes they keep blobs of it, idk, but certainly not in case of t440p), we won't get those nasty "battery not supported, pay me" messages even if they've changed the verification since then.

However, I suspect some batteries may be unprepared for the power draw of earlier models. I've tested it on 2 batteries, one was a 22wh → 72wh conversion with BMS built on top of a cheap controller with rather unpleasant feedback from battery repair people; the other one was a more trustworthy 72wh clone powered by bq8050. The latter one worked ootb, while the former somewhat worked: fine in uefi, fine in grub, drop voltage to 0 as soon as the os starts loading → poweroff. If the power supply is plugged in during boot, the battery works fine (may drop voltage again under load, haven't tested it myself).

Soo, basically the use case is that you can try to retrofit the guts of a newer battery into older thinkpads if those run core/libreboot.

 

I've replaced cells in my fake battery a few days ago, and while recalibrating the bms I noticed what looked like it trying to overcharge the cells -- the voltage went up to above 12.6v and stabilized at around 12.9 (which amounts to ~4.3v per cell and is 0.1v above what cell manufacturers generally recommend). Idk if that's the intended behavior or clone manufacturers trying to shorten the lifetime of said batteries, so if the owners with genuine batteries can provide that info, I'd really appreciate it.

On linux, you can check this with cat /sys/class/power_supply/BAT*/voltage_now (as your usual user, those files are world-readable); not sure about windows, tho.

 

Out of curiosity, I've been watching a few restorations of those spectrums, and I've noticed the keyboards having a rather peculiar construction, judging by today's standards. They have 2 springs, the small one, as far as I understand, presses the membrane layers together, and the larger one returns the key into neutral position once the key is released.

I personally haven't used any spectrums, yet I've encountered the very same construction on a keyboard of a Russian clone of said machines (namely, zx atas), and to this day I haven't touched anything worse... The only way I can describe it is like trying to type on a piece of raw meat.

So, if anyone here had a chance to type on the original spectrums, was it this bad? I suspect otherwise since I haven't heard of crowds of people requesting PTSD treatment, but the whole thing still somewhat bothers me 😅

 

Just thought I'd share. Probably nothing new or fancy, but may help some of you find a way to repurpose devices that aren't worth repairing into home servers or something: e.g. op5 I've used has better CPU compared to raspberry pi 4, can run linux (postmarketos, albeit with some caveats), and costs less if bought with broken display (or nothing if you have one lying around)

 

Decided to share an older "project" of mine - ms sculpt wireless to wired conversion (also, it runs qmk, so we get all its features). A sensible person would order a custom pcb (such projects exist on the web, take a look if you're interested), but I went with removing all the components except from the ribbon cable connector, sending the PCB smooth, gluing a piece of discount card to isolate the traces, gluing a Chinese rp2040 on top, and wiring all the necessary traces to it. No, it wasn't fun. Yes, it works.

Bonus: when I disassembled it now I found out the type-c wasn't soldered well and decided to separate from the board:

ResizedImage_2024-04-08_18-20-32_2

So, here we go: using phone as a poor man's microscope (note: also, still works)

ResizedImage_2024-04-08_18-20-32_1

The end result kinda doesn't give it out, so whatever (insert your frontend -- backend jokes here)

ResizedImage_2024-04-08_18-36-32_1

75
submitted 1 year ago* (last edited 1 year ago) by [email protected] to c/[email protected]
 
view more: next ›