Off-and-on trying out an account over at @tal@oleo.cafe due to scraping bots bogging down lemmy.today to the point of near-unusability.

  • 1 Post
  • 276 Comments
Joined 3 years ago
cake
Cake day: October 4th, 2023

help-circle

  • I’d like to have standardized LFP battery form factors and BMS interfaces. I’m not really enthusiastic about everyone rolling their own battery form factor for a given product that isn’t going to be available forever, even if it can save a bit of space. That battery is going to degrade over time, and unless I’m going to throw the product out soon, at some point I may want to replace the battery.

    We had this solved with traditional cells (AA, AAA, C, D, etc).






  • The older headphones there don’t look like you can rotate the pads, yeah? I mean, it’s that rotating hinge which failed here.

    I guess one could say “well, I don’t want headphones with rotating pads”, but it’s that rotation that lets the XM5 headphones fit into a fairly-flat carrying case.

    I will say, though, that the XM5s probably weren’t going to last over 30 years, if for no other reason than because they use an internal battery…





  • tal@lemmy.todaytoMildly Infuriating@lemmy.worldHe parked his car on the sidewalk
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    17
    ·
    edit-2
    3 months ago

    Google Maps

    This is New York City, and from the Google Street View image, it looks like there’s not a lot of street parking there.

    My guess is that a number of cities with a lot of density, like NYC, probably should mandate a certain amount of public parking garage space for users in an area. Multistory parking garage space isn’t cheap, but using up street space via committing space to street parking also has costs in terms of congestion, even if the business owner doesn’t bear the costs.

    EDIT: I also note, by way driving the point home with a sledgehammer, that in my Google Street View image, there’s a different vehicle parked on the sidewalk in the same spot, a red sports car.







  • Back to the topic at hand - doesn’t it seem strange that only CPU4 finds issues in memtest86? It could be a CPU or even motherboard that got damaged and not the DRAM itself, no?

    I noticed that, but OP said that he ran the thing in three different systems, so I’m assuming that he’s seen the same problems with multiple CPUs. It may be — I don’t know — that memtest86 doesn’t, at least as he’s running it, necessarily try to hit each byte of memory with each CPU, or at least that the order it does so doesn’t have errors from other CPUs visible.

    I also wondered if it might be a 13th or 14th gen Intel CPU, the ones that destroyed themselves over time. But (a) it’s a mobile CPU, and only the desktop CPUs had the problem there, and (b) it’s 11th gen.


  • Ah, fair enough. Long shot, but thought I’d at least mention it on the off chance that maybe it would work and maybe you hadn’t yet tried it. Sorry.

    tries to think of anything else that could be done

    Are you using Linux? Linux has a patch that was added many years back with the ability to map around damaged regions in memory. I mean, if your memory is completely hosed and you can’t even boot the kernel, then that won’t work, but if you can identify specific areas that fail, you can hand that off to the kernel and it can just avoid them. Obviously decreases usable memory by a certain amount, but…shrugs

    I’ve never needed to do it myself, but let me go see if I can find some information. Think it was the “badram” feature.

    searches

    Okay. You’re running memtest86. It looks like that has the ability to generate the string you need, and you hand that off to GRUB, which hands it off to the kernel.

    https://www.memtest86.com/blacklist-ram-badram-badmemorylist.html

    MemTest86 Pro (v9 or later) supports automatic generation of BadRAM string patterns from detected errors in the HTML report, that can be used directly in the GRUB2 configuration without needing to manually calculate address/mask values by hand.

    To enter the address ranges to blacklist manually, do the following:

    Edit /etc/default/grub and add the following line:

    GRUB_BADRAM=addr,mask[,addr,mask...]
    

    where the list of addr,mask pairs specify the memory range to block using address bit matching
    Eg. GRUB_BADRAM=0x7ddf0000,0xffffc000 shall exclude the memory range 0x7DDF0000-0x7DDF4000
    Open and terminal and run the following command

    sudo update-grub
    

    Reboot the system

    If you can’t even boot the system sufficiently to get update-grub to run, then you might need to do a fancier dance (swap drive to another machine or something), but that’s probably a good first thing to try. I’d try booting to “rescue mode” or whatever if your distro has an option like that in GRUB, something that doesn’t start the graphical environment, as it’ll touch less memory.

    EDIT: If your distro doesn’t have something like that “rescue mode” set up — all the distros I’ve used do, but that doesn’t mean that all of them do — or it it can’t even bring “rescue mode” up, because your memory is too hosed for that — then you probably want to do something like hit “edit kernel parameters” in GRUB and boot while adding “init=/bin/bash” to the end of the kernel command line. That’ll start your system up in a mode where virtually nothing is running — no systemd or other init system, no graphics, no virtual consoles, no anything. Bash running on bare metal Linux kernel. Control-C won’t work because your terminal won’t be in cooked mode, everything will be very super-duper minimal…but you should be able to bring up bash. From there, you’ll want to manually bring your root filesystem, which the kernel will have mounted read-only, as it does during boot, up to read-write, with:

    # mount / -o remount,rw
    

    Once that’s done, do your editing of the grub config file in vi or whatever, run the update-grub command.

    Then run:

    # sync
    

    Because you don’t have an init system running and it’s not gonna flush the disk on shutdown and your normal power-down commands aren’t gonna work because you have no init system to talk to.

    Go ahead and manually reboot the system by killing its power, and hopefully that’ll let it boot up with badram mapping around your damaged region of memory.

    EDIT2: It occurs to me that someone could make a utility that can run entirely in Linux to do memory testing to the extent possible inside Linux using something like memtester instead of memtest86, generate the badram string and then write it out for GRUB. That’s less bulletproof than memtest86 because memtester can’t touch every bit of memory, but it’s also easier for a user to do than the above stuff, and if you additionally added it to the install media for a distro, it’d make it easier to run Linux on broken hardware without a whole lot of technical knowledge. I guess it’d be pretty niche, though — doubt that there are a lot of systems with damaged memory floating around.

    EDIT3: Oh, that’s only the commercial version of memtest86 that will auto-generate the string. Well, if you know how to do a bitmask and you can get a list of affected addresses from memtest86, then you can probably just do it manually. If not, post the list of addresses here and someone can probably do a base address and bitmask that covers the addresses in question for you. Stick the memory back into your computer first, though, since the order of the DIMMs is gonna affect the addresses.