• 1 Post
  • 29 Comments
Joined 1 year ago
cake
Cake day: June 15th, 2023

help-circle
rss
  • I’m using ATmega micros, on my Lily58. If I remember correctly, the default QMK behaviour was to use the USB to select which half was the master and what side it was on. That would work on RP2040 boards just as well so that may be what the provided firmware does.

    I would suggest you just flash them both then see what they do. If they are swapped, try connecting the USB to the other half. If that works then you don’t have a problem. There’s no risk of damaging them and the RP2040 is pretty easy to reflash.

    I wasn’t satisfied with that method and set QMK to store the sides in eeprom so I could use the same firmware but connect to either one. I’m not sure if the 2040 has a separate non-volatile memory so you’ll likely need a different method. I think a GPIO can be grounded to set the side but the Lily58 doesn’t do this. You could add a bodge wire if you want this but you have to customise QMK to use that method.


  • Is there any reason to keep the existing set-up? If it’s just one drive, you could replace it with another and install Alma or something fresh. Then you could copy over whatever config the old system had to get up and running again. You could swap to the old drive if you needed to revert. If you have a spare machine, you could stand up the fresh setup side-by-side with the old one before swapping over.






  • Ah, that’s the misunderstanding. The original comment was talking about “watching something on another pc”. Like playing a video from a desktop PC on a laptop in another room. So it’s the samba server we want to prevent from sleeping, not the client. Yes it’d be nice to have a 24/7 media server set up, but for the simple case of sharing a file from one PC to another, it’d be nice for the server not to sleep in the middle of it by default.


  • For sure, I don’t know the internals of Samba, but surely the server knows that it’s serving a file no matter how the client accesses it. I don’t think a few dbus messages would cause issues.

    I have my own service that looks at the network traffic via /proc and a few other things. That sends the system to sleep itself if everything looks truly idle.

    I do think it would be nice for a file server like samba to inhibit sleep using the standard interface for it. But yeah, I appreciate there are complications, like video playback is presumably pulling a small extent of a file at a time, so there would have to be some kind of timer before releasing the inhibition or the system would sleep between transfers.

    EDIT: I just took a look; with loglevel set to 3 for smb and smb2 I see log messages like:

    smbd_smb2_read: fnum 1712966762, file my_video.mkv, length=262144 offset=82366464 read=262144
    

    These occur at most 10 seconds apart when playing a video over a share from another host. I don’t see why the smbd daemon couldn’t inhibit sleep untill smbd_smb2_read hasn’t run for a minute or so. You could have a script that monitors that log output and does this externally but it’d be nice to have built in.


  • Not every program or service on your system

    Of course not, but plenty do when running a task where the user is unlikely to make inputs and also doesn’t want the machine to sleep. Firefox can call org.gnome.SessionManager.Inhibit over dbus with the “video-playing” description, same for VLC. Transmission can call that interface while a transfer is in progress (with a config toggle). It seems a pretty reasonable default for samba to do the same while a long-running file transfer is ongoing.

    [Samba] doesn’t copy your files for you.

    Sure but it has to know when a transfer is running. It would be nice to have the option to inhibit sleep if the transfer is runs for a significant amount of time.






  • I would encourage you not to split things up too finely. A single repo for your environment would allow you to see all related changes with git. E.g. if you set up a new VM it might need a playbook to set something up, a script to automate a task, and a DNS entry. With a well put together commit message explaining why you’re making those changes there’s not much need for external documentation.

    Maybe if you want some more info organised in a wiki, point to the initial commit where you introduced some set up. That way you can see how something was structured. Or if you have a issue tracker you can comment with research on something and then close the issue when you commit a resolution.

    Try not to have info spread out too much or maintaining all the pieces will become a chore. Make it simple and easy to keep up.







  • While true, you would have to change the firmware to swap column and row polarity if you reverse all the diodes e.g. #define DIODE_DIRECTION ROW2COL in QMK. Conventionally, QMK assumes rows are on the cathode side of the diodes and drives the columns high. ROW2COL reverses that so that the rows are driven high and columns scanned instead.

    It’s best to stick to the convention so you avoid surprises.