Byl vydán Linux Mint 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
Wine bylo po roce vývoje od vydání verze 10.0 vydáno v nové stabilní verzi 11.0. Přehled novinek na GitLabu. Vypíchnuta je podpora NTSYNC a dokončení architektury WoW64.
Byl vydán Mozilla Firefox 147.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Firefox nově podporuje Freedesktop.org XDG Base Directory Specification. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 147 bude brzy k dispozici také na Flathubu a Snapcraftu.
Asociace repair.org udělila anticeny těm nejhorším produktům představeným na veletrhu CES 2026. Oceněnými jsou například šmírující kamery Amazon Ring AI, chytrý běžecký pás od společnosti Merach, která otevřeně přiznává, že nedokáže zabezpečit osobní data uživatelů, případně jednorázové lízátko, které rozvibrovává čelisti uživatele a tak přehrává hudbu. Absolutním vítězem je lednička od Samsungu, která zobrazuje reklamy a kterou lze otevřít pouze hlasovým příkazem přes cloudovou službu.
Íránští protirežimní aktivisté si všímají 30% až 80% ztráty packetů při komunikaci se satelity služby Starlink. Mohlo by se jednat o vedlejší důsledek rušení GPS, kterou pozemní přijímače Starlinku používají k výpočtu polohy satelitů a kterou se režim rovněž snaží blokovat, podle bezpečnostního experta a iranisty Amira Rashidiho je ale pravděpodobnější příčinou terestrické rušení přímo satelitní komunikace Starlinku podobnou
… více »Evropská komise (EK) zvažuje, že zařadí komunikační službu WhatsApp americké společnosti Meta mezi velké internetové platformy, které podléhají přísnější regulaci podle unijního nařízení o digitálních službách (DSA). Firmy s více než 45 miliony uživatelů jsou podle DSA považovány za velmi velké on-line platformy (Very Large Online Platforms; VLOP) a podléhají přísnějším pravidlům EU pro internetový obsah. Pravidla po
… více »Tržní hodnota technologické společnosti Alphabet poprvé v historii přesáhla čtyři biliony dolarů (83 bilionů Kč). Stalo se tak poté, co Apple oznámil, že bude na poli umělé inteligence (AI) spolupracovat s dceřinou firmou Alphabetu, společností Google.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 161 (pdf).
Po delší době vývoje vyšla nativní linuxová verze virtuálního bubeníka MT-PowerDrumKit 2 ve formátu VST3. Mezi testovanými hosty jsou Reaper, Ardour, Bitwig a Carla.
Desktopové prostředí Budgie bylo vydáno ve verzi 10.10. Dokončena byla migrace z X11 na Wayland. Budgie 10 vstupuje do režimu údržby. Vývoj se přesouvá k Budgie 11. Dlouho se řešilo, v čem bude nové Budgie napsáno. Budgie 10 je postaveno nad GTK 3. Přemýšlelo se také nad přepsáním z GTK do EFL. Budgie 11 bude nakonec postaveno nad Qt 6.
Dobry den,
potykam se s problemem vytvoreni symlinku modemu (Axesstel) pomoci pravidel UDEV.
Modem sam obsadi dva porty (ttyUSB0 a ttyUSB1), pricemz na tom druhem portu je cosi jako "AXESSTEL DIAGNOSTIC PORT". Modem samotny je vyuzitelny vzdy jen na prvnim portu.
Problem je ten, ze pokud pouziju pravidlo pracujici s ID vyrobce a produktu, symlink se vytvori u obou portu a tedy ten druhy prepise ten prvni. Ve vysledku mam tedy jeden symlink vedouci na ttyUSB1.
Pouziti parametru %n v symlinku by to sice do jiste miry resilo, ale zase bych se v pripade pripojeni vicero ttyUSB* zarizeni musel tak jako tak divat jake ID se vlastne priradilo.
Toto je pravidlo, ktere pouzivam (s kterym jsou problemy ohledne symlinku):
KERNEL=="ttyUSB*", SUBSYSTEMS=="usb", ATTRS{idVendor}=="1726", ATTRS{idProduct}=="1000", NAME="%k", SYMLINK+="axesstel"
Nejde to urobiť len pre KERNEL=="ttyUSB0" ?
No to zcela jiste nejde, protoze nikdy dopredu nevim nebudu-li mit na stroji nejake jine ttyUSB zarizeni. Vzdy je dobre usit pravidlo na miru konkretnimu produktu...
Diky za nasmerovani... Nakonec se to vyresilo tak, ze sice nepouzivam ID vyrobce ani produktu, ale vzal jsem zavdek nasledujicimu bloku:
# udevinfo -ap `udevinfo -q path -n /dev/ttyUSB0`
------------------------------------------------------------
looking at parent
device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.0':
KERNELS=="5-1:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="option"
ATTRS{bInterfaceNumber}=="00"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bNumEndpoints}=="03"
ATTRS{bInterfaceClass}=="ff"
ATTRS{bInterfaceSubClass}=="ff"
ATTRS{bInterfaceProtocol}=="ff"
ATTRS{modalias}=="usb:v1726p1000d0000dc00dsc00dp00icFFiscFFipFF"
ATTRS{interface}=="AXESSTEL USB MODEM"
# udevinfo -ap `udevinfo -q path -n /dev/ttyUSB1`
------------------------------------------------------------
looking at parent
device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.1':
KERNELS=="5-1:1.1"
SUBSYSTEMS=="usb"
DRIVERS=="option"
ATTRS{bInterfaceNumber}=="01"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bNumEndpoints}=="02"
ATTRS{bInterfaceClass}=="ff"
ATTRS{bInterfaceSubClass}=="ff"
ATTRS{bInterfaceProtocol}=="ff"
ATTRS{modalias}=="usb:v1726p1000d0000dc00dsc00dp00icFFiscFFipFF"
ATTRS{interface}=="AXESSTEL DIAGNOSTIC PORT"
Z tohoto je tedy patrne, ze jako jednoznacny identifikator lze pouzit napriklad parametr ATTRS{bInterfaceNumber} spolu s ATTRS{interface}.
Vysledny zapis pravidla (fungujiciho) pak muze vypadat nasledovne:
KERNEL=="ttyUSB*", SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="00", ATTRS{interface}=="AXESSTEL USB MODEM", NAME="%k", SYMLINK+="axesstel"
Diky vsem zucastnenym, pokud vsak ma nekdo lepsi reseni, jiste jim nepohrdnu.
Diky za odpoved, "nicmene vendorID" a "productID" je nanestesti v jinem bloku (viz. udevinfo) nez "bInterfaceNumber" a tak je nelze pouzit dohromady (tedy nenasel jsem zpusob jak dva a vice bloku "sparovat").
Pro jistotu uvadim plny vypis obou zarizeni:
Nejprve pro ttyUSB0:
# udevinfo -ap `udevinfo -q path -n /dev/ttyUSB0`
looking at device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.0/ttyUSB0/tty/ttyUSB0':
KERNEL=="ttyUSB0"
SUBSYSTEM=="tty"
DRIVER==""
looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.0/ttyUSB0/tty':
KERNELS=="tty"
SUBSYSTEMS==""
DRIVERS==""
looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.0/ttyUSB0':
KERNELS=="ttyUSB0"
SUBSYSTEMS=="usb-serial"
DRIVERS=="option1"
ATTRS{port_number}=="0"
looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.0':
KERNELS=="5-1:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="option"
ATTRS{bInterfaceNumber}=="00"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bNumEndpoints}=="03"
ATTRS{bInterfaceClass}=="ff"
ATTRS{bInterfaceSubClass}=="ff"
ATTRS{bInterfaceProtocol}=="ff"
ATTRS{modalias}=="usb:v1726p1000d0000dc00dsc00dp00icFFiscFFipFF"
ATTRS{interface}=="AXESSTEL USB MODEM"
looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1':
KERNELS=="5-1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{configuration}==""
ATTRS{bNumInterfaces}==" 2"
ATTRS{bConfigurationValue}=="1"
ATTRS{bmAttributes}=="a0"
ATTRS{bMaxPower}=="500mA"
ATTRS{urbnum}=="15"
ATTRS{idVendor}=="1726"
ATTRS{idProduct}=="1000"
ATTRS{bcdDevice}=="0000"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bNumConfigurations}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{speed}=="12"
ATTRS{busnum}=="5"
ATTRS{devnum}=="2"
ATTRS{version}==" 1.10"
ATTRS{maxchild}=="0"
ATTRS{quirks}=="0x0"
ATTRS{authorized}=="1"
ATTRS{manufacturer}=="AXESSTEL CO., LTD."
ATTRS{product}=="AXESSTEL DATA MODEM"
ATTRS{serial}=="A00000000100"
looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb5':
KERNELS=="usb5"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{configuration}==""
ATTRS{bNumInterfaces}==" 1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bmAttributes}=="e0"
ATTRS{bMaxPower}==" 0mA"
ATTRS{urbnum}=="27"
ATTRS{idVendor}=="1d6b"
ATTRS{idProduct}=="0001"
ATTRS{bcdDevice}=="0206"
ATTRS{bDeviceClass}=="09"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bNumConfigurations}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{speed}=="12"
ATTRS{busnum}=="5"
ATTRS{devnum}=="1"
ATTRS{version}==" 1.10"
ATTRS{maxchild}=="2"
ATTRS{quirks}=="0x0"
ATTRS{authorized}=="1"
ATTRS{manufacturer}=="Linux 2.6.27-gentoo-r8 uhci_hcd"
ATTRS{product}=="UHCI Host Controller"
ATTRS{serial}=="0000:00:1d.0"
ATTRS{authorized_default}=="1"
looking at parent device '/devices/pci0000:00/0000:00:1d.0':
KERNELS=="0000:00:1d.0"
SUBSYSTEMS=="pci"
DRIVERS=="uhci_hcd"
ATTRS{vendor}=="0x8086"
ATTRS{device}=="0x2830"
ATTRS{subsystem_vendor}=="0x1028"
ATTRS{subsystem_device}=="0x026f"
ATTRS{class}=="0x0c0300"
ATTRS{irq}=="23"
ATTRS{local_cpus}=="3"
ATTRS{local_cpulist}=="0-1"
ATTRS{modalias}=="pci:v00008086d00002830sv00001028sd0000026Fbc0Csc03i00"
ATTRS{enable}=="1"
ATTRS{broken_parity_status}=="0"
ATTRS{msi_bus}==""
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
Nyni pro ttyUSB1:
# udevinfo -ap `udevinfo -q path -n /dev/ttyUSB1`
looking at device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.1/ttyUSB1/tty/ttyUSB1':
KERNEL=="ttyUSB1"
SUBSYSTEM=="tty"
DRIVER==""
looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.1/ttyUSB1/tty':
KERNELS=="tty"
SUBSYSTEMS==""
DRIVERS==""
looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.1/ttyUSB1':
KERNELS=="ttyUSB1"
SUBSYSTEMS=="usb-serial"
DRIVERS=="option1"
ATTRS{port_number}=="0"
looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.1':
KERNELS=="5-1:1.1"
SUBSYSTEMS=="usb"
DRIVERS=="option"
ATTRS{bInterfaceNumber}=="01"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bNumEndpoints}=="02"
ATTRS{bInterfaceClass}=="ff"
ATTRS{bInterfaceSubClass}=="ff"
ATTRS{bInterfaceProtocol}=="ff"
ATTRS{modalias}=="usb:v1726p1000d0000dc00dsc00dp00icFFiscFFipFF"
ATTRS{interface}=="AXESSTEL DIAGNOSTIC PORT"
looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1':
KERNELS=="5-1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{configuration}==""
ATTRS{bNumInterfaces}==" 2"
ATTRS{bConfigurationValue}=="1"
ATTRS{bmAttributes}=="a0"
ATTRS{bMaxPower}=="500mA"
ATTRS{urbnum}=="15"
ATTRS{idVendor}=="1726"
ATTRS{idProduct}=="1000"
ATTRS{bcdDevice}=="0000"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bNumConfigurations}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{speed}=="12"
ATTRS{busnum}=="5"
ATTRS{devnum}=="2"
ATTRS{version}==" 1.10"
ATTRS{maxchild}=="0"
ATTRS{quirks}=="0x0"
ATTRS{authorized}=="1"
ATTRS{manufacturer}=="AXESSTEL CO., LTD."
ATTRS{product}=="AXESSTEL DATA MODEM"
ATTRS{serial}=="A00000000100"
looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb5':
KERNELS=="usb5"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{configuration}==""
ATTRS{bNumInterfaces}==" 1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bmAttributes}=="e0"
ATTRS{bMaxPower}==" 0mA"
ATTRS{urbnum}=="27"
ATTRS{idVendor}=="1d6b"
ATTRS{idProduct}=="0001"
ATTRS{bcdDevice}=="0206"
ATTRS{bDeviceClass}=="09"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bNumConfigurations}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{speed}=="12"
ATTRS{busnum}=="5"
ATTRS{devnum}=="1"
ATTRS{version}==" 1.10"
ATTRS{maxchild}=="2"
ATTRS{quirks}=="0x0"
ATTRS{authorized}=="1"
ATTRS{manufacturer}=="Linux 2.6.27-gentoo-r8 uhci_hcd"
ATTRS{product}=="UHCI Host Controller"
ATTRS{serial}=="0000:00:1d.0"
ATTRS{authorized_default}=="1"
looking at parent device '/devices/pci0000:00/0000:00:1d.0':
KERNELS=="0000:00:1d.0"
SUBSYSTEMS=="pci"
DRIVERS=="uhci_hcd"
ATTRS{vendor}=="0x8086"
ATTRS{device}=="0x2830"
ATTRS{subsystem_vendor}=="0x1028"
ATTRS{subsystem_device}=="0x026f"
ATTRS{class}=="0x0c0300"
ATTRS{irq}=="23"
ATTRS{local_cpus}=="3"
ATTRS{local_cpulist}=="0-1"
ATTRS{modalias}=="pci:v00008086d00002830sv00001028sd0000026Fbc0Csc03i00"
ATTRS{enable}=="1"
ATTRS{broken_parity_status}=="0"
ATTRS{msi_bus}==""
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
Mozna, kdyz se tak na to divam, by se dalo vytvorit pravidlo, ktere by pomoci zoliku checkovalo "ATTRS{modalias}" ve stejnem bloku (konkretne se jedna o 4. blok - "looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.1':") kde je potrebny "bInterfaceNumber".
Napr. takto (?):
KERNEL=="ttyUSB*", SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="00", ATTRS{modalias}=="usb:v1726p1000*", NAME="%k", SYMLINK+="axesstel"
"nicmene vendorID" a "productID" je nanestesti v jinem bloku (viz. udevinfo) nez "bInterfaceNumber" a tak je nelze pouzit dohromady
Tak to je docela trapné. Čekal jsem, že se atributy budou dědit.
KERNEL=="ttyUSB*", SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="00", ATTRS{modalias}=="usb:v1726p1000*", NAME="%k", SYMLINK+="axesstel"
A tohle vám funguje? Kam bude ukazuje symlink? Na ttyUSB* nebo na usb*?
Tady vám asi neporadím, protože udev moc neznám.
take jsem cekal, ze bude probihat nejake dedeni, ale to jsem si nabehl...
V kazdem pripade to posledni funguje zcela dle ocekavani - tedy dobre. Symlink ukazuje na prvni port, tedy na /dev/ttyUSB0. Pokud jiz budu mit pripojeny napriklad jeden takovy modem (kuprikladu AnyData - taktez dual-portovy hybrid, tedy ttyUSB0 a ttyUSB1) a pote pripojim dalsi (treba prave zminovany Axesstel), tento obsadi dalsi porty v rade, konkretne ttyUSB3 a ttyUSB4, bude nyni symlink /dev/axesstel ukazovat na /dev/ttyUSB3... To je presne tak jak potrebuji...
Diky vsem za prispevky
Tiskni
Sdílej: