On Wed 15 Jun 2022 at 06:34:41 (-0400), gene heskett wrote: > On 6/15/22 01:00, David Wright wrote:
What I wrote is slipping into a morass of IDK what. > And I'm going to snip down to what I'm replying to, I think. Yes, I'll join you in snipping. [ … snipped stuff about email quoting … ] > Generally I can. but a reboot fixes things so I have to do it > all over again at every reboot, just because this list refuses > to answer a simple question about setting the perms on 2 > devices that are identified as /dev/ttyUSB*. Anyone reading this list can see this is not true. > This install feels good yet, but at 36 hours uptime, I've used > half the typical uptime I've managed in 30 previous installs. I don't understand the concept of "using up" uptime. Surely uptime just carries on ad infinitum until you have some downtime. [ … snipped stuff about pigs and pocket money … ] [ … snipped stuff about a blind person … ] [ … snipped recapitulation of screen reader … ] > > > > > but haven't changed the perms of /dev/ttyUSB* yet. > > > > Of course, the idea was that /you/ don't have to do that: udev should > > > > do it when you boot up the machine or plug in the items. That's what > > > > makes it permanent. And by reading their distinctive serial numbers, > > > > FTDHG45D and FTOOS09N, it also prevents the names of the two devices > > > > being swapped around by a race, or the order of insertion. > It does not!!!!!!!!!! That's what I'm screaming about. Of course it doesn't, /as of now/. I see no evidence of your having written the necessary file to tell udev to do what you want it to do. Until you write it, "It does not!". Look, if I write: Here's how I make udev do X for me. Now you make it do Y for you in the same manner, using my example and the system's examples to help you, there's no point in screaming that a) your question has fallen on deaf ears for a decade, b) I haven't fixed your problem for you. > It sets the perms so only root can use them. I just > plugged at least one of them in: > root@coyote:/lib/udev/rules.d# ls -l /dev/ttyUSB* > crw-rw---- 1 root dialout 188, 0 Jun 15 05:31 /dev/ttyUSB0 Duh—yes, that's what the current rules on your system specify that it should do, I suppose (I ain't there to look see). > 020660. The common user can't touch it. So what IS > the "approved fix" so the user CAN use it? A fix that > will actually survive a reboot. That's the question > asked that every reply so far has ignored. It's not a "fix". You don't zap, or nuke, some file. You write a bit of code (that's what the rules look like) to tell it what you want doing. Like I did. That's what my example is for. As they used to say on children's TV 60 years ago, "Now /you/ try it". Or if you're very lucky, you find something sufficiently alike that you can copy the file under /etc/, and your modified version will overrule the original file under /lib/. Do you need telling that "your modified version" becomes "your modified version" by your modifying it, and not by magic just because I told you to copy it from /lib/ to /etc/. > > /My/ example is for usb-devices that are mass-storage (sticks, > > cards and drives), and so it deals in mount points. Your devices > > aren't. > Because at the moment, none of the serial adapters > were plugged in. They both are now. and despite > me, heyu, & nut > being added to the dialout group, neither utility can talk to > its hardware, no permission. So I'll remove the additions to /etc/group > and await advice. > > /lib/udev/rules.d/ unsurprisingly contains examples of > > almost every sort of device. > But not once does is specifically mention /dev/ttyUSB. Its a bit > hard to find the rule for a serial adapter when its not mention > any place it the whole directory tree. Well, there might not be, if you don't install anything that requires those sorts of devices to be configured. Debian doesn't see the need to include hundreds of configuration files for no particular reason. You could try installing a few serial-ish packages to see what turns up, or you could google for any mention of these files. As it happens, I find I have (but don't use): $ grep -i ttyusb /lib/udev/rules.d/* /lib/udev/rules.d/40-usb_modeswitch.rules:# Adds a symlink "gsmmodem[n]" to the lowest ttyUSB port with interrupt /lib/udev/rules.d/40-usb_modeswitch.rules:KERNEL=="ttyUSB*", ATTRS{bNumConfigurations}=="*", PROGRAM="usb_modeswitch --symlink-name %p %s{idVendor} %s{idProduct} %E{PRODUCT}", SYMLINK+="%c" /lib/udev/rules.d/60-serial.rules:KERNEL!="ttyUSB[0-9]*|ttyACM[0-9]*", GOTO="serial_end" /lib/udev/rules.d/77-mm-fibocom-port-types.rules:# ttyUSB0 (if #0): QCDM port /lib/udev/rules.d/77-mm-fibocom-port-types.rules:# ttyUSB1 (if #1): AT port /lib/udev/rules.d/77-mm-fibocom-port-types.rules:# ttyUSB2 (if #2): AT port /lib/udev/rules.d/77-mm-fibocom-port-types.rules:# ttyUSB2 (if #3): Ignore /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB0 (if #0): QCDM/DIAG port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB1 (if #1): GPS data port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB2 (if #2): AT primary port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB3 (if #3): AT secondary port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB0 (if #0): QCDM/DIAG port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB1 (if #1): GPS data port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB2 (if #2): AT primary port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB3 (if #3): AT secondary port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB0 (if #0): QCDM/DIAG port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB1 (if #1): GPS data port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB2 (if #2): AT primary port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB3 (if #3): AT secondary port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB0 (if #0): QCDM/DIAG port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB1 (if #1): GPS data port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB2 (if #2): AT primary port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB3 (if #3): AT secondary port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB0 (if #0): QCDM/DIAG port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB1 (if #1): GPS data port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB2 (if #2): AT primary port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB3 (if #3): AT secondary port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB0 (if #0): QCDM/DIAG port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB1 (if #1): GPS data port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB2 (if #2): AT primary port /lib/udev/rules.d/77-mm-quectel-port-types.rules:# ttyUSB3 (if #3): AT secondary port $ I think the packages they belong to are installed just as Recommends. [ … snipped stuff about solder and email ?fonts … ] Cheers, David.