Apple představil nový iPad mini, iMac s čipem M6, 14palcový MacBook Pro s čipem M6 a MacBook Pro s PROLED XDR displejem – první Mac s dotykovým ovládáním.
Nedávno představený projekt mapSTL.com řeší budoucnost. 𝕏: "Netušil jsem, kolik patentů na generování map existuje. Existují patenty na generování fantasy map 🫣. Cokoliv je na 3D tiskárnu a tvoří to produkt, bude to mít patenty. Tak bacha na to!" … více »
Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.4 (𝕏). Přehled novinek a vylepšení v poznámkách k vydání.
Byla objevena zranitelnost Tailworm v Tailscale a Headscale umožňující lokální eskalaci práv přihlášeného uživatele. Následně byla v Tailscale v opravené verzi 1.104.4+ změněna architektura aplikace. Viz příspěvek na blogu Tailscale.
Byl vydán Mozilla Firefox 159.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 159 bude brzy k dispozici také na Flathubu a Snapcraftu.
Nasazení softwaru, který nyní používá ve svých autech pro čínský trh, zvažuje automobilový koncern Volkswagen také v Evropě, kde by se mohl používat v budoucích vozech značek Volkswagen, Škoda a Cupra. Základem pro budoucí evropské modely by se mohla stát takzvaná China Electronic Architecture, elektronická architektura vyvinutá pro čínské modely ve spolupráci s tamní automobilkou Xpeng.
Vedoucím brněnské pobočky Red Hatu se stal Radek Vokál [LinkedIn].
Open source download manager Fatrat povstal z popela. Autor k dvacetiletému výročí projektu přidal do vínku podporu nejnovější knihovny libtorrent, rozhraní portoval na QT6, došlo k nahrazení podpory java rozšíření pythonem. Webové rozhraní bylo přepsáno s podporou mobilních zařízení. Aplikaci je taktéž možno zkompilovat bez podpory GUI. Více informací v releases.
Zranitelnost Broccoli2Shell (CVE-2026-111497) v kompresní knihovně Brotli se netýká pouze Node.js. Ohroženy jsou také aplikace využívající HTTP. Knihovnu používají webové prohlížeče, servery i řada dalších aplikací a technologií, například také Python nebo Bun. Identifikace všech zranitelných komponent může být obtížná, protože knihovna bývá součástí dalších softwarových balíčků nebo je přímo začleněna do spustitelných souborů aplikací.
Quad9, švýcarský celosvětově působící neziskový poskytovatel DNS, od 24. listopadu 2026 ukončí své služby ve Francii kvůli soudnímu sporu s katarskou televizní stanicí beIN. Ta požadovala blokování domén, které podle ní nelegálně zpřístupňují sportovní přenosy. Francouzský soud Katarům vyhověl a nařídil (🇫🇷, PDF) Quad9 blokaci zavést, pod hrozbou pokuty 1000 eur denně. Provozovatel příkaz odmítá s tím, že blokace
… více »
[root@fw-liberec ~]# lspci -v|sed -e '/./{H;$!d;}' -e 'x;/Ethernet/!d;'
03:04.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5714 Gigabit Ethernet (rev a3)
Subsystem: Hewlett-Packard Company NC324i PCIe Dual Port Gigabit Server Adapter
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 74
Memory at fdef0000 (64-bit, non-prefetchable) [size=64K]
Memory at fdee0000 (64-bit, non-prefetchable) [size=64K]
Capabilities: [40] PCI-X non-bridge device
Capabilities: [48] Power Management version 2
Capabilities: [50] Vital Product Data
Capabilities: [58] Message Signalled Interrupts: 64bit+ Queue=0/3 Enable+
03:04.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5714 Gigabit Ethernet (rev a3)
Subsystem: Hewlett-Packard Company NC324i PCIe Dual Port Gigabit Server Adapter
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 82
Memory at fded0000 (64-bit, non-prefetchable) [size=64K]
Memory at fdec0000 (64-bit, non-prefetchable) [size=64K]
Capabilities: [40] PCI-X non-bridge device
Capabilities: [48] Power Management version 2
Capabilities: [50] Vital Product Data
Capabilities: [58] Message Signalled Interrupts: 64bit+ Queue=0/3 Enable+
07:00.0 Ethernet controller: Intel Corporation 82572EI Gigabit Ethernet Controller (Copper) (rev 06)
Subsystem: Intel Corporation PRO/1000 PT Desktop Adapter
Flags: bus master, fast devsel, latency 0, IRQ 66
Memory at fdfe0000 (32-bit, non-prefetchable) [size=128K]
Memory at fdfc0000 (32-bit, non-prefetchable) [size=128K]
I/O ports at 4000 [size=32]
[virtual] Expansion ROM at 50000000 [disabled] [size=128K]
Capabilities: [c8] Power Management version 2
Capabilities: [d0] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable+
Capabilities: [e0] Express Endpoint IRQ 0
Z tohoto uz se snadno vyparsuji jednotliva irq.
Ze souboru /proc/interrupts zjistim, ktere irq patri ke ktere mu ethX:
cat /proc/interrupts |grep eth
66: 554805 674656 PCI-MSI eth0
74: 16674884 73688875 PCI-MSI eth1
82: 64585323 15132785 PCI-MSI eth2
Bohuzel dal si prilis nevim rady. Potrebuji podle irq priradit k ethX prislusnou sitovou kartu.
Diky moc za nakopnuti spravnym smerem.
eth0 Intel Corporation 82572EI Gigabit Ethernet Controller (Copper) (rev 06)
eth1 Broadcom Corporation NetXtreme BCM5714 Gigabit Ethernet (rev a3)
eth2 Broadcom Corporation NetXtreme BCM5714 Gigabit Ethernet (rev a3)
Problem je, ze nevim jak napsat skript ktery by tohle provedl.
Vim ze eth0 ma irq 66 a toto irq odpovida sitove karte Intel Corporation 82572EI Gigabit Ethernet Controller (Copper) (rev 06).
Ale proste nevim, jak z tech dvou vypisu udelat jeden, ktery potrebuju.
Potrebuji nejspis do promenne pro eth0 ulozit cislo irq ziskane z /proc/interrupts, do promenne pro Intel Corporation 82572EI Gigabit Ethernet Controller (Copper) (rev 06) ulozit irq ziskane z lspci -v a tak dale pro vsechny eth a sitove karty. No a potom ty promenne nejak porovnat a kdyz si budou rovny tak provest vypis.
Bohuzel me znalosti na napsani takoveho skriptu zatim nepostacuji a proto se obracim sem.
Diky za reakci.
#!/usr/bin/python
import subprocess
irqeth = {}
for line in file('/proc/interrupts'):
if 'eth' not in line: continue
spl = line.strip().split()
irq = int(spl[0].rstrip(':'))
eth = spl[-1]
irqeth[irq] = eth
cmd = ['/sbin/lspci', '-v']
pr = subprocess.Popen(cmd, stdout = subprocess.PIPE)
ethdevs = {}
chunk = []
eth = None
for line in pr.stdout:
line = line.strip()
if not line:
if eth:
ethdevs[eth] = (irq, chunk)
chunk = []
else:
chunk.append(line)
if 'IRQ' in line:
spl = line.split()
irq = int(spl[spl.index('IRQ') + 1])
try:
eth = irqeth[irq]
except KeyError:
pass
for eth in ethdevs:
print eth
print 'IRQ', ethdevs[eth][0]
print ethdevs[eth][1][0] #prvni radek
kdyby základní myšlenka fungovala, třeba bych to ještě nějak učesal.
Tiskni
Sdílej: