Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.
Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.
NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.
IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.
Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
Podpora: | kompletní |
Ovladač: | dodává někdo jiný |
ttyS14 at I/O 0x400 (irq = 3) is a 16C950/954
Petr Vandrovec napsal patch a postnul jej do linux kernel mailing listu.
Je tam napsany i navod na zprovozneni.
(Smyslem patche je probudit MC45 ze sleep módu, ve kterém se nachází po startu. Jiná možnost, jak MC45 probudit je něj zavolat z jiného telefonu; to samozřejmě lze použít pouze k otestování funkčnosti bez nutnosti hned patchovat jádro, nikoliv k běžnému použití...)
1) Patch funguje a karta prijima AT prikazy na vanilla jadrech. Aplikovat patch do kernelu FC3 slo, ale karta nebezela. Podobnou zkusenost meli lidi i s MDK jadry.
2) Nevim jestli je nekde archiv lkml v plain textu a tak jsem ten patch vykousany z html dal sem.
3) Spojeni k inetu nahazuju takto:
rm /dev/modem &>/dev/null ln -s /dev/ttyS14 /dev/modem >/dev/null setserial -bG /dev/modem baud_base 1152000 &>/dev/null nohup wvdial &>/dev/null &
4) cat /etc/wvdial.conf
[Dialer Defaults] Modem = /dev/modem Baud = 57600 Init1 = ATZ Init2 = AT+CGDCONT=1,"IP","INTERNET" Init3 = Area Code = Phone = *99***1# Username = internet Password = none Ask Password = 0 Dial Command = ATDT Stupid Mode = 1 Compuserve = 0 Force Address = Idle Seconds = 0 DialMessage1 = DialMessage2 = ISDN = 0 Auto DNS = 1
Protože patch na Jikosových stránkách už není, dovolil jsem si ho přetisknout:
diff -urN linux/include/pcmcia/ciscode.h linux/include/pcmcia/ciscode.h --- linux/include/pcmcia/ciscode.h 2004-08-28 23:21:03.000000000 +0200 +++ linux/include/pcmcia/ciscode.h 2004-08-28 23:36:24.000000000 +0200 @@ -135,4 +135,7 @@ #define MANFID_XIRCOM 0x0105 +#define MANFID_POSSIO 0x030c +#define PRODID_POSSIO_GCC 0x0003 + #endif /* _LINUX_CISCODE_H */ diff -urN linux/drivers/serial/serial_cs.c linux/drivers/serial/serial_cs.c --- linux/drivers/serial/serial_cs.c 2004-08-28 23:19:58.000000000 +0200 +++ linux/drivers/serial/serial_cs.c 2004-08-30 02:53:05.000000000 +0200 @@ -44,6 +44,7 @@ #include <linux/serial.h> #include <linux/serial_core.h> #include <linux/major.h> +#include <linux/delay.h> #include <asm/io.h> #include <asm/system.h> @@ -112,6 +113,8 @@ int multi; int slave; int manfid; + int prodid; + int c950ctrl; dev_node_t node[4]; int line[4]; }; @@ -127,6 +130,33 @@ static dev_link_t *dev_list = NULL; +static void wakeup_card(struct serial_info *info) +{ + int ctrl = info->c950ctrl; + + if (info->manfid == MANFID_OXSEMI) { + outb(12, ctrl + 1); + } else if (info->manfid == MANFID_POSSIO && info->prodid == PRODID_POSSIO_GCC) { + /* request_region? oxsemi branch does no request_region too... */ + /* This sequence is needed to properly initialize MC45 attached to OXCF950. + * I tried decreasing these msleep()s, but it worked properly (survived + * 1000 stop/start operations) with these timeouts (or bigger). */ + outb(0xA, ctrl + 1); + msleep(100); + outb(0xE, ctrl + 1); + msleep(300); + outb(0xC, ctrl + 1); + msleep(100); + outb(0xE, ctrl + 1); + msleep(200); + outb(0xF, ctrl + 1); + msleep(100); + outb(0xE, ctrl + 1); + msleep(100); + outb(0xC, ctrl + 1); + } +} + /*====================================================================== After a card is removed, serial_remove() will unregister @@ -191,6 +221,7 @@ for (i = 0; i < info->ndev; i++) serial8250_resume_port(info->line[i]); + wakeup_card(info); } } @@ -554,15 +585,20 @@ } /* The Oxford Semiconductor OXCF950 cards are in fact single-port: - 8 registers are for the UART, the others are extra registers */ - if (info->manfid == MANFID_OXSEMI) { + 8 registers are for the UART, the others are extra registers. + Siemen's MC45 PCMCIA (Possio's GCC) is OXCF950 based too. */ + if (info->manfid == MANFID_OXSEMI || + (info->manfid == MANFID_POSSIO && info->prodid == PRODID_POSSIO_GCC)) { + int err; + if (cf->index == 1 || cf->index == 3) { - setup_serial(info, base2, link->irq.AssignedIRQ); - outb(12, link->io.BasePort1 + 1); + err = setup_serial(info, base2, link->irq.AssignedIRQ); + base2 = link->io.BasePort1; } else { - setup_serial(info, link->io.BasePort1, link->irq.AssignedIRQ); - outb(12, base2 + 1); + err = setup_serial(info, link->io.BasePort1, link->irq.AssignedIRQ); } + info->c950ctrl = base2; + wakeup_card(info); return 0; } @@ -622,9 +658,10 @@ tuple.DesiredTuple = CISTPL_MANFID; if (first_tuple(handle, &tuple, &parse) == CS_SUCCESS) { info->manfid = le16_to_cpu(buf[0]); + info->prodid = le16_to_cpu(buf[1]); for (i = 0; i < MULTI_COUNT; i++) if ((info->manfid == multi_id[i].manfid) && - (le16_to_cpu(buf[1]) == multi_id[i].prodid)) + (info->prodid == multi_id[i].prodid)) break; if (i < MULTI_COUNT) info->multi = multi_id[i].multi;
Dokument vytvořil: tomaso, 4.11.2004 08:50 | Poslední úprava: Petr Tomášek, 27.2.2011 15:07 | Další přispěvatelé: Bluebear | Historie změn | Zobrazeno: 1344×
Tiskni Sdílej: