[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Kein passives ISDN - udev oder wer?



Am Sonntag 09 Januar 2005 14:49 schrieb Andreas Pakulat:
> On 09.Jan 2005 - 12:45:15, Dirk Salva wrote:
> > Hi Leute,
> >
> > gerade stelle ich mit Verwunderung fest, daß auf meinem Client kein
> > ISDN mehr vorhanden ist:-(

[...]

> > Die Module werden problemlos geladen (sowohl isdn als auch hisax und
> > crc_ccitt sind vorhanden, isdn wird von hisax benutzt), aber ich habe
> > in /dev/ kein device? 

[...]

> udev kann die Devices nicht anlegen, weil der hisax-Treiber nicht
> genügend Informationen liefert (speziell: Devicenummern IIRC)
>
> Deswegen musst du entweder die Devices aus dem alten Verzeichnis
> (welches unter /.dev verfügbar ist) kopieren (man cp bzgl der
> Optionen, ein einfaches cp geht nicht) oder aber neu anlegen beim
> Booten (z.B. durch ein Skript oder innerhalb von isdnutils).

Hallo,

ich bin gerade auf das gleiche Problem gestoßen. Ich habe zunächst auch 
"/etc/udev/links.conf" verwendet, um die Devices-Nodes für isdn4linux und 
hisax zu erstellen.  Das gestattet - ohne Änderung an /etc/init.d/udev - 
jedoch nicht, die erstellen Devices-Nodes mit den passenden Rechten 
auszustatten. Daher habe ich mir ein geeignetes Init-Skript geschrieben.

Folgendes in "/etc/init.d/isdndevices" rein tun:

-------------------------------------------------------------------------
#!/bin/sh

# Teamix: Erstellt ISDN-Devices mit entsprechenden Rechten, 11.3.2005, ms

case "$1" in
  start)
    echo "Creating ISDN devices..."
    i=0
    for ((i ; i < 8; i++)); do
      # Create /dev/isdn*
      rm /dev/isdn$i 2>/dev/null
      mknod /dev/isdn$i c 45 $i
      chown root:dialout /dev/isdn$i
      chmod ug+rw /dev/isdn$i
      # Create /dev/isdnctrl*
      j=$((64+$i))
      rm /dev/isdnctrl$i 2>/dev/null
      mknod /dev/isdnctrl$i c 45 $j
      chown root:dialout /dev/isdnctrl$i
      chmod ug+rw /dev/isdnctrl$i
      # Create /dev/ippp*
      j=$((128+$i))
      rm /dev/ippp$i 2>/dev/null
      mknod /dev/ippp$i c 45 $j
      chown root:dialout /dev/ippp$i
      chmod ug+rw /dev/ippp$i
    done
    # Create symlink /dev/isdnctrl
    rm /dev/isdnctrl 2>/dev/null
    ln -s /dev/isdnctrl0 /dev/isdnctrl
    # Create /dev/isdninfo
    rm /dev/isdninfo 2>/dev/null
    mknod /dev/isdninfo c 45 255
    chown root:dialout /dev/isdninfo
    chmod ug+rw /dev/isdninfo
    ;;
  stop)
    # Nothing done here for now.
    ;;
  *)
    echo "Usage: /etc/init.d/$NAME {start}"
    exit   
    ;;
esac

exit 0
-------------------------------------------------------------------------

Und dann 

update-rc.d isdnutils defaults 19

ausführen.

Wer ein Laptop mit einer PCMCIA-ISDN-Karte nutzt, sollte noch folgendes 
durchführen, damit die PCMCIA-Karte von pcmcia-cs initialisiert wird, 
bevor /etc/init.d/isdnutils aufgerufen wird:

update-rc.d -f isdnutils remove
update-rc.d isdnutils defaults 21

Grüße,
-- 
Martin Steigerwald                            Mail: ms@teamix.net
Systemadministrator                           Fon:  +49 (0)911 30999-0
team(ix) GmbH                                 Fax:  +49 (0)911 30999-99
Süd-West-Park 35, 90449 Nürnberg, Deutschland



Reply to: