Il package più recente è udev-116-i486-1 per Slackware 12; bisogna vedere se è compatibile con Slackware 11.cymon ha scritto:Ottima intuizione, anch'io sono su 11 e se siamo gli unici ad aver rilevato questa anomalia è probabile che il problema sia quello... farò qualche esperimento, ma phobos, se hai notizie racconta eh!
Kernel 2.6.24: niente /dev/cdrom, /dev/dvd, etc
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- phobos3576
- Staff

- Messaggi: 2980
- Iscritto il: dom 17 apr 2005, 0:00
- Slackware: 13.1
- Kernel: 2.6.37-smp
- Desktop: KDE 4.5.3
Re: Kernel 2.6.24: niente /dev/cdrom, /dev/dvd, etc
- nuitari
- Linux 3.x

- Messaggi: 777
- Iscritto il: dom 14 ott 2007, 12:51
- Slackware: 12.0
- Località: San Colombano al Lambro
- Contatta:
Re: Kernel 2.6.24: niente /dev/cdrom, /dev/dvd, etc
Si è sicuramente un problema di udev.
Questi sono i miei file *pertinenti*
file: /etc/udev/rules.d/50-udev.rules (solo le parti utili)
file /lib/udev/cdrom-symlinks.sh (completo)
file: /etc/udev/rules.d/75-optical-devices.rules (completo, viene generato)
Il file /etc/udev/rules.d/75-optical-devices.rules viene generato automaticamente dal file /lib/udev/cdrom-symlinks.sh.
Ipotizzo che voi abbiate questa struttura (od una struttura analoga) anche sull'11, ma magari cambiando kernel drasticamente cambia molto anche il modo in cui viene rilevato l'hardware al punto da invalidare il *vecchio* file (sempre nel reame delle ipotesi). Proverei, se fossi in voi, a eliminarlo (o a spostarlo altrove per backup), a riavviare udev (/etc/rc.d/rc.udev restart) e a vedere che succede.
Spero vi sia utile.
Questi sono i miei file *pertinenti*
file: /etc/udev/rules.d/50-udev.rules (solo le parti utili)
Codice: Seleziona tutto
# permissions for SCSI sg/tape devices
SUBSYSTEMS=="scsi", KERNEL=="s[gt][0-9]*", ATTRS{type}=="5", NAME="%k", GROUP="cdrom", MODE="0660"
# import optical drive properties and set CD partitions
KERNEL=="scd[a-z]|sr[0-9]*|hd[a-z]|pcd[0-9]*", IMPORT{program}="cdrom_id --export $tempnode"
ENV{ID_CDROM}=="?*", NAME="%k", GROUP="cdrom", MODE="0660", RUN+="cdrom-symlinks.sh %k"
# packet devices
KERNEL=="pktcdvd", NAME="pktcdvd/control", GROUP="cdrom", MODE="0660"
KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/pktcdvd%n", GROUP="cdrom", MODE="0660"
# put all removable devices in group "plugdev"
KERNEL=="hd*[!0-9]", ATTR{removable}=="1", GROUP="plugdev"
KERNEL=="hd*[0-9]", ATTRS{removable}=="1", GROUP="plugdev"
KERNEL=="sd*[!0-9]", ATTR{removable}=="1", GROUP="plugdev"
KERNEL=="sd*[0-9]", ATTRS{removable}=="1", GROUP="plugdev"
Codice: Seleziona tutto
#!/bin/sh
DEVNAME="$1"
TESTNAME="cdrom.$RANDOM"
. /etc/udev/udev.conf
LOCKFILE="${udev_root}cdrom-lockfile"
PERM_RULES="${udev_rules}/75-optical-devices.rules"
TEMP_RULES="${udev_root}75-optical-devices.rules"
getlock() {
until ( mkdir $LOCKFILE ) 2>/dev/null
do
sleep 1
done
}
givelock() {
if [ -e $LOCKFILE ]; then
rm -rf $LOCKFILE
fi
}
checkrules() {
if grep "$1" ${udev_rules}/*.rules &>/dev/null ; then
return 0
fi
if grep "$1" ${udev_root}/*.rules &>/dev/null ; then
return 0
fi
return 1
}
testwrite() {
if ln -s /dev/null ${udev_rules}/$TESTNAME 2>/dev/null ; then
rm -rf ${udev_rules}/$TESTNAME
RW=1
if [ -e $TEMP_RULES ]; then
mv $TEMP_RULES $PERM_RULES
fi
UDEV_RULES="$PERM_RULES"
else
if [ -e $PERM_RULES ] && [ ! -e $TEMP_RULES ]; then
cp $PERM_RULES $TEMP_RULES
fi
UDEV_RULES="$TEMP_RULES"
fi
}
write_cd_rule() {
if [ -n "$2" ]; then
LINK=${1}${2}
echo "${MATCH_RULE}, SYMLINK+=\"${LINK}\"" >> $UDEV_RULES
if ! [ -e ${udev_root}${LINK} ]; then
ln -s ${udev_root}${DEVNAME} ${udev_root}${LINK} 2>/dev/null
fi
if ! checkrules "SYMLINK+=\"$1\"" ; then
write_cd_rule $1
fi
else
LINK=${1}
echo "${MATCH_RULE}, SYMLINK+=\"${LINK}\"" >> $UDEV_RULES
if ! [ -e ${udev_root}${LINK} ]; then
ln -s ${udev_root}${DEVNAME} ${udev_root}/${LINK} 2>/dev/null
fi
fi
}
if [ -z "$DEVPATH" ]; then
echo "Missing \$DEVPATH." >&2
exit 1
fi
if [ -z "$DEVPATH" ]; then
echo "Missing \$DEVPATH." >&2
exit 1
fi
if [ -z "$ID_CDROM" ]; then
echo "$DEVPATH is not a CD reader." >&2
exit 1
fi
case "$ID_BUS" in
usb|ieee1394)
if [ "$ID_SERIAL" ]; then
MATCH_RULE="ENV{ID_SERIAL}==\"$ID_SERIAL\""
elif [ "$ID_MODEL" -a "$ID_REVISION" ]; then
MATCH_RULE="ENV{ID_MODEL}==\"$ID_MODEL\", ENV{ID_REVISION}==\"$ID_REVISION\""
else
exit 1
fi
;;
*)
MATCH_RULE="ENV{ID_PATH}==\"$ID_PATH\""
;;
esac
getlock
if ! checkrules "$MATCH_RULE" ; then
MATCH_RULE="ENV{ID_CDROM}==\"?*\", $MATCH_RULE"
# Test if the root filesystem is mounted RW
testwrite
if ! [ -e $UDEV_RULES ]; then
echo "# Local optical devices rules to make links to your
# optical devices
#
# These rules were generated by cdrom-symlinks.sh, but you
# can customize them.
#
# You may edit them as needed.
# (If, for example, your machine has more than one CD or
# DVD drive and you need to be sure they will always be
# given the same symlinks.)
#
# If you delete this file, /lib/udev/cdrom-symlinks.sh will
# try to generate it again the next time udev is started.
" > $UDEV_RULES
fi
if checkrules "\"cdrom0\"" ; then
NUMBER=`grep -c "SYMLINK+=\"cdrom.\"" $UDEV_RULES`
while [ `grep -c "\"cdrom${NUMBER}\"" \
$UDEV_RULES` -ne 0 ]; do
NUMBER=$(($NUMBER+1))
done
else
NUMBER="0"
fi
write_cd_rule cdrom $NUMBER
if [ "$ID_CDROM_DVD" ]; then
write_cd_rule dvd $NUMBER
if [ "$ID_CDROM_DVD_R" -o "$ID_CDROM_DVD_RW" -o "$ID_CDROM_DVD_RAM" ]; then
write_cd_rule dvdrw $NUMBER
write_cd_rule dvdwriter $NUMBER
fi
fi
if [ "$ID_CDROM_CD_R" ]; then
write_cd_rule cdr $NUMBER
if [ "$ID_CDROM_CD_RW" ]; then
write_cd_rule cdrw $NUMBER
write_cd_rule cdwriter $NUMBER
if ! checkrules "\"writer\"" ; then
write_cd_rule writer
fi
fi
fi
fi
givelock
exit 0
Codice: Seleziona tutto
# Local optical devices rules to make links to your
# optical devices
#
# These rules were generated by cdrom-symlinks.sh, but you
# can customize them.
#
# You may edit them as needed.
# (If, for example, your machine has more than one CD or
# DVD drive and you need to be sure they will always be
# given the same symlinks.)
#
# If you delete this file, /lib/udev/cdrom-symlinks.sh will
# try to generate it again the next time udev is started.
ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:08.0-ide-1:0", SYMLINK+="cdrom0"
ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:08.0-ide-1:0", SYMLINK+="cdrom"
ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:08.0-ide-1:0", SYMLINK+="dvd0"
ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:08.0-ide-1:0", SYMLINK+="dvd"
ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:08.0-ide-1:0", SYMLINK+="dvdrw0"
ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:08.0-ide-1:0", SYMLINK+="dvdrw"
ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:08.0-ide-1:0", SYMLINK+="dvdwriter0"
ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:08.0-ide-1:0", SYMLINK+="dvdwriter"
ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:08.0-ide-1:0", SYMLINK+="cdr0"
ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:08.0-ide-1:0", SYMLINK+="cdr"
ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:08.0-ide-1:0", SYMLINK+="cdrw0"
ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:08.0-ide-1:0", SYMLINK+="cdrw"
ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:08.0-ide-1:0", SYMLINK+="cdwriter0"
ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:08.0-ide-1:0", SYMLINK+="cdwriter"
ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:08.0-ide-1:0", SYMLINK+="writer"
ENV{ID_CDROM}=="?*", ENV{ID_SERIAL}=="TSSTcorp_USB_Mass_Storage_Device_SATAHH00000000004e6", SYMLINK+="cdrom1"
ENV{ID_CDROM}=="?*", ENV{ID_SERIAL}=="TSSTcorp_USB_Mass_Storage_Device_SATAHH00000000004e6", SYMLINK+="dvd1"
ENV{ID_CDROM}=="?*", ENV{ID_SERIAL}=="TSSTcorp_USB_Mass_Storage_Device_SATAHH00000000004e6", SYMLINK+="dvdrw1"
ENV{ID_CDROM}=="?*", ENV{ID_SERIAL}=="TSSTcorp_USB_Mass_Storage_Device_SATAHH00000000004e6", SYMLINK+="dvdwriter1"
ENV{ID_CDROM}=="?*", ENV{ID_SERIAL}=="TSSTcorp_USB_Mass_Storage_Device_SATAHH00000000004e6", SYMLINK+="cdr1"
ENV{ID_CDROM}=="?*", ENV{ID_SERIAL}=="TSSTcorp_USB_Mass_Storage_Device_SATAHH00000000004e6", SYMLINK+="cdrw1"
Ipotizzo che voi abbiate questa struttura (od una struttura analoga) anche sull'11, ma magari cambiando kernel drasticamente cambia molto anche il modo in cui viene rilevato l'hardware al punto da invalidare il *vecchio* file (sempre nel reame delle ipotesi). Proverei, se fossi in voi, a eliminarlo (o a spostarlo altrove per backup), a riavviare udev (/etc/rc.d/rc.udev restart) e a vedere che succede.
Spero vi sia utile.
- phobos3576
- Staff

- Messaggi: 2980
- Iscritto il: dom 17 apr 2005, 0:00
- Slackware: 13.1
- Kernel: 2.6.37-smp
- Desktop: KDE 4.5.3
Re: Kernel 2.6.24: niente /dev/cdrom, /dev/dvd, etc
Confrontando i file di nuitari con quelli che ho io posso notare che esistono notevoli differenze; inoltre, nel mio caso non è presente nemmeno il file /etc/udev/rules.d/75-optical-devices.rules (che non viene neanche generato).
Sicuramente il problema è legato alla mia vecchia versione di udev, ma non mi azzardo nemmeno ad installare la nuova versione perché già in passato ho avuto seri problemi; in effetti, come molti sanno, le versioni di udev compilate da Pat sono associate ad una specifica distribuzione Slackware ed è vivamente sconsigliato passare a delle nuove versioni non compilate (e configurate) espressamente per quella distribuzione stessa!
Sicuramente il problema è legato alla mia vecchia versione di udev, ma non mi azzardo nemmeno ad installare la nuova versione perché già in passato ho avuto seri problemi; in effetti, come molti sanno, le versioni di udev compilate da Pat sono associate ad una specifica distribuzione Slackware ed è vivamente sconsigliato passare a delle nuove versioni non compilate (e configurate) espressamente per quella distribuzione stessa!
- cymon
- Linux 2.x

- Messaggi: 430
- Iscritto il: ven 5 gen 2007, 1:40
- Slackware: 13.1
- Kernel: 2.6.33.4-smp
- Desktop: Fluxbox
- Località: Milano
- Contatta:
Re: Kernel 2.6.24: niente /dev/cdrom, /dev/dvd, etc
Ma quindi per aggirare il problema il link simbolico si può creare a mano o questa soluzione può fare un qualche tipo di danno? Qual è il punto migliore per inserire il comando, nel caso si possa? rc.local?
Sarei comunque curioso di capire cosa ha effettivamente portato a quest'anomalia. Sfortunatamente non conosco quasi niente di udev (ho solo una moderata conoscenza di cosa fa), ma secondo voi è possibile che configurando una regola opportuna, al momento non presente nelle nostre configurazioni, si possa rimettere la cosa a posto in maniera pulita?
Sarei comunque curioso di capire cosa ha effettivamente portato a quest'anomalia. Sfortunatamente non conosco quasi niente di udev (ho solo una moderata conoscenza di cosa fa), ma secondo voi è possibile che configurando una regola opportuna, al momento non presente nelle nostre configurazioni, si possa rimettere la cosa a posto in maniera pulita?
- conraid
- Staff

- Messaggi: 13631
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Kernel 2.6.24: niente /dev/cdrom, /dev/dvd, etc
Probabilmente nella 11 ci sono regole di udev che scozzano con qualche opzione del kernel.cymon ha scritto:Ma quindi per aggirare il problema il link simbolico si può creare a mano o questa soluzione può fare un qualche tipo di danno? Qual è il punto migliore per inserire il comando, nel caso si possa? rc.local?
Sarei comunque curioso di capire cosa ha effettivamente portato a quest'anomalia. Sfortunatamente non conosco quasi niente di udev (ho solo una moderata conoscenza di cosa fa), ma secondo voi è possibile che configurando una regola opportuna, al momento non presente nelle nostre configurazioni, si possa rimettere la cosa a posto in maniera pulita?
dovresti fare delle prove con le nuove regole per cd, etc...
anche in current i file sono diversi da quelli indicati da nuitari, ma a volte per esempio vanno modificate.
Io per lo scanner mi faccio delle regole mia, non bisogna aver paura di provare. Certo, nei limiti del sapere che questo può far danno e questo al limite non far andare qualcosa.
Ma modificare delle regole per caricare i CD-ROM, dopo aver fatto un backup delle vecchie danni non ne fa.
Sul punto migliore del tuo metodo, direi che rc.local va bene, ma togli ogni rifimento a /dev/cdrom e simili negli altri file di init e in fstab
- phobos3576
- Staff

- Messaggi: 2980
- Iscritto il: dom 17 apr 2005, 0:00
- Slackware: 13.1
- Kernel: 2.6.37-smp
- Desktop: KDE 4.5.3
Re: Kernel 2.6.24: niente /dev/cdrom, /dev/dvd, etc
Ho usato pure io /etc/rc.d/rc.local, mentre in fstab ho solo riferimenti a /dev/hdc e /dev/hdd.conraid ha scritto:Sul punto migliore del tuo metodo, direi che rc.local va bene, ma togli ogni rifimento a /dev/cdrom e simili negli altri file di init e in fstab
I vari link simbolici come /dev/cdrom, /dev/dvd, etc, servono solo ai vari player come xine, kaffeine & C.
- robbybby
- Linux 4.x

- Messaggi: 1223
- Iscritto il: sab 16 dic 2006, 10:48
- Slackware: 13.1 / 64 bit
- Kernel: 3.3.x
- Desktop: KDE 4.4.5
- Località: Fra Trantor e Terminus
Re: Kernel 2.6.24: niente /dev/cdrom, /dev/dvd, etc
Io sto usando il kernel 2.6.24 su Slack 11 e non ho nessun problema.
Uso i driver SATA/PATA, con due hard disk sata, e due masterizzatori IDE, e un hard disk IDE. I device ci ssono tutti correttamente:
sda, sdb i due hd sata
sdc l'hd ide
sr0, sr1 i due masterizzatori
Il .config e' quello del 2.6.23.x, riciclato non make oldconfig.
E' un po' (circa un anno, da quando, cioe', ho cambiato mother board, e quella nuova ha i dischi sata) che sono passato dal vecchio layer IDE, al nuovo pata, anche per i dischi ide.
Uso i driver SATA/PATA, con due hard disk sata, e due masterizzatori IDE, e un hard disk IDE. I device ci ssono tutti correttamente:
sda, sdb i due hd sata
sdc l'hd ide
sr0, sr1 i due masterizzatori
Il .config e' quello del 2.6.23.x, riciclato non make oldconfig.
E' un po' (circa un anno, da quando, cioe', ho cambiato mother board, e quella nuova ha i dischi sata) che sono passato dal vecchio layer IDE, al nuovo pata, anche per i dischi ide.
- nuitari
- Linux 3.x

- Messaggi: 777
- Iscritto il: dom 14 ott 2007, 12:51
- Slackware: 12.0
- Località: San Colombano al Lambro
- Contatta:
Re: Kernel 2.6.24: niente /dev/cdrom, /dev/dvd, etc
Domanda: avete compilato il supporto a sysfs e montato sysfs correttamente?
Secondo me o non avete sysfs, o è solo cambiato il modo in cui il kernel rileva i devices, per cui i *nomi* o le *proprietà* di sysfs non matchano più le regole di UDEV che avete.
IMHO, previo backup dei file, potreste provare a modificare le regole di udev ispirandovi ai file che vi ho postato.
comunque, sotto /usr/doc/udev-VERSIONE/docs c'è tutto l'help di cui avete bisogno.
Secondo me o non avete sysfs, o è solo cambiato il modo in cui il kernel rileva i devices, per cui i *nomi* o le *proprietà* di sysfs non matchano più le regole di UDEV che avete.
IMHO, previo backup dei file, potreste provare a modificare le regole di udev ispirandovi ai file che vi ho postato.
comunque, sotto /usr/doc/udev-VERSIONE/docs c'è tutto l'help di cui avete bisogno.