abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 21:33 | Bezpečnostní upozornění

    Ve FreeBSD byla nalezena a opravena zranitelnost FatGid aneb CVE-2026-45250. Jedná se o lokální eskalaci práv. Neprivilegovaný uživatel se může stát rootem.

    Ladislav Hagara | Komentářů: 0
    včera 14:33 | IT novinky

    Společnost Flipper Devices oznámila Flipper One. Zcela nový Flipper postavený od nuly. Jedná se o open-source linuxovou platformu založenou na čipu Rockchip RK3576. Hledají se dobrovolníci pro pomoc s dokončením vývoje (ovladače, testování, tvorba modulů).

    Ladislav Hagara | Komentářů: 2
    včera 14:00 | Nová verze

    Vývojáři Wine oznámili vydání verze 2.0 knihovny vkd3d pro překlad volání Direct3D na Vulkan. Přehled novinek na GitLabu.

    Ladislav Hagara | Komentářů: 0
    včera 11:33 | Nová verze

    Společnost Red Hat oznámila vydání Red Hat Enterprise Linuxu (RHEL) 10.2 a 9.8. Vedle nových vlastností a oprav chyb přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Vypíchnout lze CLI AI asistenta goose. Podrobnosti v poznámkách k vydání (10.2 a 9.8).

    Ladislav Hagara | Komentářů: 0
    včera 05:11 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 30 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 05:00 | Nová verze

    Byla vydána nová verze 7.0 svobodného open source redakčního systému WordPress. Kódové jméno Armstrong bylo vybráno na počest amerického jazzového trumpetisty a zpěváka Louise Armstronga (What A Wonderful World).

    Ladislav Hagara | Komentářů: 0
    včera 04:55 | Bezpečnostní upozornění

    V Drupalu byla nalezena a opravena kritická zranitelnost SA-CORE-2026-004 (CVE-2026-9082). Útočník může provádět libovolné SQL dotazy na webech používajících databázi PostgreSQL.

    Ladislav Hagara | Komentářů: 0
    20.5. 14:11 | Komunita

    Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost HP.

    Ladislav Hagara | Komentářů: 3
    20.5. 13:33 | IT novinky

    O víkendu proběhla demopárty Outline 2026. Publikována byla prezentovaná dema. Upozornit lze na 16 bajtové, opravdu šestnáct bajtové, zvukově obrazové demo Wake Up! 16b (YouTube).

    Ladislav Hagara | Komentářů: 2
    20.5. 04:22 | Nová verze

    Byla vydána nová verze 9.5 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání a na YouTube.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1678 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Siemens MC45

    Podpora: kompletní
    Ovladač: dodává někdo jiný

    Technické parametry

     

    Identifikace pod Linuxem

    ttyS14 at I/O 0x400 (irq = 3) is a 16C950/954

    Postup zprovoznění pod Linuxem

    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í...)

    Poznámka

    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: 1520×

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.