• 15 Posts
  • 204 Comments
Joined 1 year ago
cake
Cake day: June 9th, 2023

help-circle





  • I seriously doubt the two are separate like that any more. They are likely completely intertwined at this point. There are hints all around in the technology that indicate we are completely compromised. Moves like integrated phone batteries and the MINIX ME system running under all operating systems on x86, or the proprietary modems; everything subtly points to a surveillance state. We are absolutely hell bent on proving bin Laden correct in his calculations to destroy democracy long term with a neo digital feudal dark age of regression.





  • Have you setup a rules file for USB? You must have a udev rule setup that gives your user access to the hardware. It is trivial to create, but is one of those little headaches you learn as you go. Sparkfun and Adafruit should both have good tutorials if you search either of them for udev rules.

    Mine for a ch340 is done like this:

    $ cd  /etc/udev/rules.d
    $ sudo nano 69-my-usb-serial-devices.rules
    # ch340
    SUBSYSTEM="USB", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="1a86", ATTR{idProduct}=="7523", MODE="0666"
    

    I just told you to enter the terminal editor nano and enter a note that will help you remember that this is for the ch340 # ch340 followed by a line that sets the permissions for the device using a rule for which users have access to the device. I’m assigning the rule based on the vendor and product ID numbers. You can find these numbers by using the $ lsusb command. FYI, the $ is standard shorthand for command line as your standard user. This is opposed to # which is short for the root user at the command line.

    Once you enter this line in nano, follow the instructions to save the file in nano :qw IIRC. The next time you plug in the device, the kernel should use this rule to set the permissions for the device to 0666 which means everyone can read write, but not execute stuff from the port; with execute would be 0777.

    When you are trying to find info about a USB device the following may be helpful:

    $ sudo dmesg | grep -F "USB device number" 
    

    Note that the last line should be the most recently connected device. $ dmesg is the system-d boot log. Depending on how system-d is configured, you’ll probably see timestamps on the left. The initial bootup devices will show up with a tightly grouped time stamp, while later connections will show a much larger number.

    There have been some recent changes in Fedora that have broken a script I wrote to help me with all the various places where USB hardware is located and finding the right info. I’m trying to parse that script for the key elements. The first step is to find the location of the hardware. You are looking for something like /dev/bus/usb/003/003 or wherever the new device got mounted. This is only the start, because different parts of the device may be mounted in different locations. I’m not just talking about the CH340, but like, if you are doing microcontrollers stuff that gets more complicated like forth, micropython and circuit python where there will be more going on than just the serial port, or you need to know low level stuff. Once you know the specific port, you can use $ udevadm info --attribute-walk --path=$(udevadm info --query=path --name=/dev/bus/usb/003/003) # enter the port for the device in question.

    In the past, my script used $ dmesg to retrieve the device location, then used $ lsusb -D *device location* to get the basic info. Then I went a layer deeper with the udevadm command to see everything related to the device. The command $ fdisk -l might also help with some STM32 type stuff that has a dfu bootloader and identifies as a USB drive when plugged in… At least, I think that was the reason I kept that option in my script, it has been awhile since I used one of those.

    Edit: I can get the actual port location of a device now using $ lsusb -t -vv.


  • j4k3@lemmy.worldtoLinux@lemmy.ml
    link
    fedilink
    English
    arrow-up
    2
    ·
    9 days ago

    Slowly over time you learn what you need when you need it. There is no hand holding. Under the surface, this thing is very complex. Every aspect of Linux is public. You do not need to understand most of it, but this is the realm of many brilliant developers and most computer science students, especially those studying operating systems. Everyone is welcome here, but be aware that all levels are present.

    The vast majority of Linux is not related to desktop users. Linux is more common on servers and embedded devices like routers, cars, and industrial/enterprise equipment. People are happy to help you learn when you hit a wall, but no one wants to be your tech support.

    Distros are not brands or marketing. They all have a specific reason to exist and specialties. Learning what these specialties are and how to leverage them for things like documentation for any specific task can make a big difference in your overall experience.

    It is quite common for people to call it Linux, but you are unlikely to interact with kernel space very much. Your actual experience is mostly limited to the desktop environment and applications.

    Since you are on a Debian > Ubuntu derivative, you are on a distro that may have outdated dependencies in some cases, especially with outlier software. Terms like outdated and stable/unstable are not at all what they seem at first intuitive thought. Windows is a stable OS, which really means it has outdated dependencies in most cases too. Distros like Fedora or Arch are kept up to date with the latest kernel and dependencies. If your software you want to run is actively developed and kept up to date, these are the best distros to run. If your software is static, these distros may break it and create headaches. By contrast, if your software is kept up to date but you are on a stable distro, either the distro packager may keep the needed libraries up to date or you need to go to the extra effort required to update stuff yourself by adding a PPA to your Aptitude sources list. This is important to understand because, if you are following documentation for some package using the internet, that documentation may be for a much newer version than what is available in the distro natively. This mostly applies to edgy software when you’re doing something specific that is not super common. The practical way to think about this is that Debian stable is primarily created as a way for developers to create some device that will be used online for a specific task and uses many high level software packages. Once the thing is working, the developer knows that the packages they used are not going to get updated arbitrarily and break what they created, while the device is still going to receive all the needed security updates to remain online safely for as long as the kernel is supported by the Debian team. This is beneficial for small one off devices and subcontracted types of development without a full time dev. Understanding this paradigm will massively improve your overall experience. I had a lot of frustration before I understood that much of what I was using was outdated and why when I first started using Ubuntu over 10 years ago.



  • Go kill 346 people in a careless and culpable way. See if you stay off of death row.

    The only way to stop a problem like this is from the top down. If the issue is traced to some low level employees, great, put everyone from the board members all the way down to these low level employees on trial as a whole. This kind of thing is a culture from the top down.

    Boeing should be dismantled or nationalized and completely restructured with none of its present management.






  • Invisibly; by trying to post in it and encourage others to do so. There is not much management to do with such a small community. The majority of regular users watch the All feed, so subscriptions are really just a way to bookmark the community to post in it or find it more easily. For smaller or new communities, expect it to be more like your personal blog as it is unlikely to be something others will post in regularly. The majority of communities that are hourly-active were made prior to the rexodus of June 2023, or within a few weeks thereafter.

    Unless you’re in a very controversial space, actively micromanaging a community is likely an issue with the mod not the community IMO. The admins take care of the majority of wack-a-mole nonsense here.



  • Slowly trying to learn sh while using mostly bash. Convenience is nice and all, but when I encounter something like OpenWRT or Android, I don’t like the feeling of speaking a foreign language. Maybe if I can get super familiar with sh, then I might explore prettier or more convenient options, but I really want to know how to deal with the most universal shell.