πρόβλημα με mounting usb

simos | Παρ, 09/26/2008 - 19:56 | 1' | 18

για χαρά παιδιά!
αντιμετωπίζω πρόβλημα με ένα σχετικά παλιό pc.
δεν βλέπω με fedora 8 το εξωτερικό usb μου για να το κάνω mount.
με df δεν βλέπω καμία συσκευή αντίστοιχη(σίγουρα δουλεύει-με windows to έβλεπε)
έχετε καμία ιδέα?

Tags
Δώσε αστέρια!

MO: (ψήφοι: 0)

Σχόλια

Ενώ έχεις συνδεδεμένο το usb με lsusb από κονσόλα τι φαίνεται ;;;

--------------------
happy_linux_downloads

[root@localhost guest]# lsusb
bash: lsusb: command not found

επίσης όταν έβαλα τελευταία φορά το usb παρατήρησα ότι μου βγάζει το εξής μήνυμα

Message from syslogd@localhost at Sep 28 13:42:54 ...
kernel: Disabling IRQ #10

εν τω μεταξύ το googlara λίγο και είδα κάποιες άλλες εντολές όπως

ls -l /dev/disk/by-id

και

mount /dev/disk/by-label/MY-PROJECTS /mnt/jump -t auto
ls /mnt/jump όπου MY-PROJECTS το label του usb αλλά ούτε αυτό δούλεψε....

μήπως λείπει κάποιο πακέτο που πρέπει να εγκαταστήσω;;;;

ευχαριστώ εκ των προτέρων για τη βοήθεια σας και της δικιάς σου thano που απάντησες

.....

ει παιδιά μήπως έχετε ιδέα τι μπορεί να φταίει;
έχει περάσει αρκετός καιρός και δεν έχω βρει τίποτα

Ελπίζω να βοηθάει κάπως:

Στο Debian κ λοιπά debian-based, η εντολή lsusb είναι μέρος του πακέτου "usbutils". Ίσως να έχεις κάτι παρόμοιο που πρέπει να εγκαταστήσεις.

Μπορείς επίσης να συνδέσεις το δίσκο κ αμέσως μετά να δώσεις σε ένα τερματικό την εντολή dmesg. Έτσι θα δεις τα μηνύματα του συστήματος, με χρονολογική σειρά, από τα παλαιότερα στα πιο πρόσφατα. Οπότε εσύ κοιτάς στις τελευταίες γραμμές που θα τυπώσει το dmesg, κ άμα θες δείξε τις κ σε μας.

Γενικά περιμένεις να δεις ότι πρώτα "αντιδρά" ο USB ελεγκτής κ καταλαβαίνει ότι συνδέθηκε κάποια συσκευή, μετά ότι εντοπίστηκε το είδος της συσκευής, κ τέλος ότι φορτώθηκε το κατάλληλο πρόγραμμα οδήγησης (usb-storage στην περίπτωση σου νομίζω, εκτός κ αν είναι ιδιαίτερα εξωτικός κ ανορθόδοξος ο δίσκος σου)

Καλή τύχη!

edit: Ορίστε τι δείχνει το dmesg σε μένα όταν συνδέω ένα USB flash:

usb 5-5: new high speed USB device using ehci_hcd and address 5
usb 5-5: configuration #1 chosen from 1 choice
Initializing USB Mass Storage driver...
scsi2 : SCSI emulation for USB Mass Storage devices
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usb-storage: device found at 5
usb-storage: waiting for device to settle before scanning
scsi 2:0:0:0: Direct-Access     USB 2.0  Flash Disk       0.00 PQ: 0 ANSI: 2
sd 2:0:0:0: [sdb] 3948543 512-byte hardware sectors (2022 MB)
sd 2:0:0:0: [sdb] Write Protect is off
sd 2:0:0:0: [sdb] Mode Sense: 00 00 00 00
sd 2:0:0:0: [sdb] Assuming drive cache: write through
sd 2:0:0:0: [sdb] 3948543 512-byte hardware sectors (2022 MB)
sd 2:0:0:0: [sdb] Write Protect is off
sd 2:0:0:0: [sdb] Mode Sense: 00 00 00 00
sd 2:0:0:0: [sdb] Assuming drive cache: write through
sdb: sdb1
sd 2:0:0:0: [sdb] Attached SCSI removable disk
sd 2:0:0:0: Attached scsi generic sg2 type 0
usb-storage: device scan complete

ευχαριστώ για την βοήθεια gnu_labis
ωστόσο δεν έχει λυθεί ακόμη το πρόβλημα!!
υπάρχει ακριβώς όμοιο πακέτο usbutils και στα fedora αλλά είναι ήδη installed
στο μεταξύ όταν πατάω εντολή dmesg τότε οι τελευταίε σειρές έχουν ως εξής

Bridge firewalling registered
pan0: Dropping NETIF_F_UFO since no NETIF_F_HW_CSUM feature.
irq 10: nobody cared (try booting with the "irqpoll" option)
Pid: 0, comm: swapper Not tainted 2.6.26.5-28.fc8 #1
[] __report_bad_irq+0x2e/0x6f
[] note_interrupt+0x1e0/0x213
[] ? handle_IRQ_event+0x2a/0x5a
[] handle_level_irq+0x8d/0xbe
[] ? handle_level_irq+0x0/0xbe
[] do_IRQ+0x8c/0xb9
[] common_interrupt+0x23/0x28
[] ? __do_softirq+0x5e/0xdf
[] do_softirq+0x6c/0xa9
[] ? handle_level_irq+0x0/0xbe
[] irq_exit+0x38/0x6b
[] do_IRQ+0xa0/0xb9
[] common_interrupt+0x23/0x28
[] ? ptrace_report_signal+0x146/0x190
[] ? acpi_idle_enter_simple+0x197/0x20e
[] cpuidle_idle_call+0x5e/0x8b
[] ? cpuidle_idle_call+0x0/0x8b
[] cpu_idle+0xae/0xce
[] rest_init+0x4e/0x50
=======================
handlers:
[] (snd_ca0106_interrupt+0x0/0x108 [snd_ca0106])
Disabling IRQ #10
[user01@localhost ~]$

μήπως φταίει που να παλιό το PC?

Αυτά που γράφεις δε λένε τίποτα για USB. Λένε ότι έφτασε ενα "interrupt" στον επεξεργαστή σου, από τη γραμμή 10, κ κανείς (driver) δεν έχει καταχωρηθεί για να το εξυπηρετεί, αν δεν κάνω λάθος. Για άλλο "φρούτο" μου μοιάζει αυτό.

Έδωσες το dmesg αμέσως αφού συνέδεσες τη συσκεύη στη θύρα;

Αν θες δοκίμασε σε ένα τερματικό ως root:

tail -f /var/log/dmesg

για να παρακολουθείς το αρχείο dmesg, κ μετά βάλε τη USB συσκευή σου κ δες αν θα τυπώσει κάτι στο τερματικό με το που τη συνδέεις. To tail το σταματάς με ctrl+c.

Αν τα usbutils είναι ήδη εγκατεστημένα, τότε δοκίμασε να τρέξεις lsusb ως root.

λοιπόν να εξηγήσω κάτι λοιπόν μήπως φταίει το υλικό του PC.Ο επεξεργαστής είναι ίσως 10 χρονών και πάνω και πιάνει τα 320 αν δεν κάνω λάθος.intel celeron από τότε κάμενο κουτί pentium(παίζει να ναι και 12 χρονάκια ή παραπάνω!! :D)

Τώρα ως αναφορά τιε εντολές που μου δωσες πάλι τα ίδια...

[root@localhost guest]# lsusb
bash: lsusb: command not found
[root@localhost guest]# tail -f /var/log/dmesg
device-mapper: multipath: version 1.0.5 loaded
loop: module loaded
EXT3 FS on dm-0, internal journal
kjournald starting. Commit interval 5 seconds
EXT3 FS on sda1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
SELinux: initialized (dev sda1, type ext3), uses xattr
SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
Adding 655352k swap on /dev/mapper/VolGroup00-LogVol01. Priority:-1 extents:1 across:655352k
SELinux: initialized (dev binfmt_misc, type binfmt_misc), uses genfs_contexts

όταν λοιπόν βάζω οποιοδήποτε usb από τα 5 διαφορετικά που έχω τότε πάλι

Message from syslogd@localhost at Oct 21 01:54:18 ...
kernel: Disabling IRQ #10
^C
[root@localhost guest]#

πάει το βλέπω το σκηνικό να τρώει κανένα φορματ και να γυρίσει σε ελαφρότερη διανομή....τζάμπα και οι μνήμες που του βαλα για να αντέχει audiostream με το rhythmbox .... κλάπς.... :P

Φίλε μου σε πρόλαβα ή το έκανες το format ήδη;

Αν τα μυνήματα περί IRQ10 στα βγάζει με το που συνδέεις τη συσκευή σου, τότε σίγουρα έχουν να κάνουν με το πρόβλημα σου.

Για να το λύσουμε, χρειάζονται περισσότερες πληροφορίες:

1. Τρέξε ένα "uname -a" από τερματικό κ πες μας τι σου λέει.

2. Ο πυρήνας σου είναι "stock" από το fedora, ή τον έκανες εσύ compile?

3. Τρέξε ένα "cat /proc/interrupts" από τερματικό κ πες επίσης τι σου λέει.

4. Ίσως το πιο απλό test είναι να κάψεις ένα liveCD με μια μικρή σύγχρονη διανομή κ να την τρέξεις (χωρίς εγκατάσταση) για να δεις τι γίνεται σε αυτή την περίπτωση με τις συσκευές USB. Αν δουλέψει τότε είναι θέμα ρυθμίσεων στο fedora, κ ίσως αξίζει να σκεφτείς ένα format. Αλλιώς, αν δε δουλεύει ούτε εκεί, το format δε θα σε σώσει.

5. Είπες ότι τα windows τον βλέπουν το δίσκο. Windows σε αυτό το μηχάνημα, ή σε άλλο; Αν είναι σε άλλο, τότε αξίζει να ρίξεις κ μια ματιά στις ρυθμίσεις του BIOS μήπως κ είναι απενεργοποιημένες οι USB θύρες σου.

6. Όσο για το καταραμένο το lsusb, μπορείς να δώσεις ένα "whereis lsusb" από τερματικό. Παίζει να υπάρχει αλλά να μην είναι στο path που ψάχνεται για εντολές, οπότε θα πρέπει να καλέσεις την εντολή με πλήρες path για να τη βρει ο υπολογιστής. Πχ: /sbin/lsusb

Λοιπόν το format γι αυτό το PC είναι μεγάλη κουβέντα οπότε ακολούθησα τις συμβουλές σου gnu_labis....

έχουμε και λέμε

1)[user01@localhost ~]$ uname -a
Linux localhost.localdomain 2.6.26.5-28.fc8 #1 SMP Sat Sep 20 09:32:58 EDT 2008 i686 i686 i386 GNU/Linux

2)δεν γνωρίζω να κάνω compile στον πυρήνα, πολύ θα θελα να μάθω αλλά αυτό που με καίει περισσότερο αυτή την στιγμή είναι να μάθω πως θα διαβάσει το usb το PC :P!!. ο πυρήνας είναι από την έκδοση του περασμένου Γενάρη του linuxformat, έκδοση werewolf αν θυμάμαι κάλα...δουλεύει μια χαρά σε άλλο pc

3) cat /proc/interrupts
CPU0
0: 1008141 XT-PIC-XT timer
1: 1733 XT-PIC-XT i8042
2: 0 XT-PIC-XT cascade
3: 3 XT-PIC-XT
4: 3 XT-PIC-XT
5: 12566 XT-PIC-XT eth0
6: 5 XT-PIC-XT floppy
7: 1 XT-PIC-XT parport0
9: 0 XT-PIC-XT acpi
10: 144 XT-PIC-XT snd_ca0106
11: 0 XT-PIC-XT uhci_hcd:usb1
12: 28994 XT-PIC-XT i8042
14: 16365 XT-PIC-XT pata_via
15: 15383 XT-PIC-XT pata_via
NMI: 0 Non-maskable interrupts
LOC: 0 Local timer interrupts
RES: 0 Rescheduling interrupts
CAL: 0 function call interrupts
TLB: 0 TLB shootdowns
TRM: 0 Thermal event interrupts
SPU: 0 Spurious interrupts
ERR: 0
MIS: 0

4)έκαψα διάφορες διανομές αλλά χωρίς αποτέλεσμα. Ακόμη και όταν πήρα την μεγάλη απόφαση να τρέξω UBUNTU σε τέτοιο μηχάνημα τελικά το άντεξε αλλά και πάλι όταν έβαζα το USB δεν το βρισκε και ούτε έγραφε κάποιο σφάλμα στην κονσόλα όπως κάνει με Fedora 8.

5)τα μπατζούρια σίγουρα το έβλεπαν σε αυτό το PC και με προβληματίζει ακόμη περισσότερο

6)[user01@localhost ~]$ whereis lsusb
lsusb: /sbin/lsusb /usr/share/man/man8/lsusb.8.gz
[user01@localhost ~]$ /sbin/lsusb
Bus 001 Device 001: ID 1d6b:0001

και όταν έβαλα πάλι το USB τότε βγάζει μήνυμα για μια ακόμη φορά...

[user01@localhost ~]$
Message from syslogd@localhost at Oct 25 17:15:32 ...
kernel: Disabling IRQ #10

Ίσως αυτό που δεν έχω κάνει ακόμη είναι να κατεβάσω παλιές διανομές μήπως παρουσιάζουν κάποια συμβατότητα παραπάνω αλλά πραγματικά δεν ξέρω τι άλλο να κάνω...

ευχαριστώ πάντως για άλλη μια φορά για τη βοήθεια!

Δυστυχώς δεν έχω άμεσα κάποια λύση. Οι σκέψεις μου είναι οι εξής:

Καταρχήν, δεν νομίζω ότι τρέχεις τον πυρήνα που λες ότι τρέχεις. To uname ισχυρίζεται ότι τρέχεις πυρήνα 2.6.26, ιδιαίτερα πρόσφατο, ο οποίος έγινε compile στις 20 Σεπτεμβρίου του 2008. Δεν ξέρω αν έχει σχέση, απλά το αναφέρω.

Έπειτα, ο ελεγκτής USB είναι USB1 κ έχει φορτωθεί ο driver UHCI για να τον χειρίζεται. Όπως δείχει το /proc/interrupts, ο driver έχει "πιάσει" το interrupt (irq = interrupt request) 11. Όμως:

1) Ο UHCI δεν έχει εξυπηρετήσει κανένα interrupt, ενώ αυτός της κάρτας ήχου, στο interrupt 10, έχει απαντήσει σε 144 interrupts. Όταν συνδέεις μια συσκευή, είναι λογικό να προκαλείται ένα interrupt στο οποίο πρέπει να απαντήσει ο host controller σου (UHCI).

2) όταν βάζεις μια συσκευή, χτυπάει το interrupt 10 κ κανείς δεν αντιδρά:

irq 10: nobody cared (try booting with the "irqpoll" option)
...
handlers:
[] (snd_ca0106_interrupt+0x0/0x108 [snd_ca0106])
Disabling IRQ #10

Στο interrupt 10 κάθεται η κάρτα ήχου, ο driver της οποίας πάει να αντιδράσει, αλλά φαντάζομαι ότι δεν "ταιριάζει" κ τα παρατάει.

Ώς προς αυτό, το μόνο που μπορώ να σκεφτώ είναι να βγάλεις την κάρτα ήχου κ να δοκιμάσεις πάλι. Κοίτα με τον ίδιο τρόπο ποιο αριθμό interrupt πήρε ο uhci όταν δεν υπάρχει η κάρτα ήχου, ποιο interrupt δημιουργείται όταν συνδέεις μια USB συσκευή, κλπ.

(Άλλη ιδέα, μου ήρθε τώρα: μήπως στο BIOS το USB είναι χειροκίνητα δηλωμένο στο interrupt 10, κ τα windows το βλέπουν, ενώ το linux όχι; υπάρχουν αρκετά προβληματικά BIOS. Αν συμβαίνει κάτι τέτοιο προσπάθησε να μπεις στο BIOS κ να γυρίσεις όλα τα σχετικά με περιφερειακά κ ειδικότερα USB, στο αυτόματο.)

Πιο παλιό linux δεν πρόκειται να βοηθήσει πάντως. Καλύτερα είσαι νομίζω ως έχεις, με κάτι μεγαλύτερο του 2.6.20.

Κοίταξα λίγο κ αυτό το μήνυμα που σου βγάζει:

(try booting with the "irqpoll" option)

Αυτή η παράμετρος αναγκάζει τον πυρήνα, όποτε δε βρίσκει κάποιον να εξυπηρετήσει ένα interrupt που έφτασε, να ψάχνει σε όλους του καταχωρημένους εξυπηρετητές, ακόμα κ αυτούς που ακούν κανονικά σε άλλες γραμμές (όπως στην περίπτωση σου, ο USB host είναι στο 11, αλλά οι συσκευές προκαλούν interrupts στο 10).

Κοινώς, θεωρητικά, προσθέτοντας αυτή την παράμετρο στον πυρήνα, παίζει κ να δουλέψει.

Δοκίμασε πρώτα με την παράμετρο irqfixup, μια πιο ελαφριά μορφή της irqpoll, κ αν αυτή δεν κάνει διαφορά, δοκίμασε κ την irqpoll.

Προφανώς, το να ρωτάς όλους τους drivers κάθε φορά ποιος έχασε το interrupt του έχει υπολογίσιμο κόστος από άποψη χρόνου, κ δεν το θεωρώ τελική λύση, αλλά ίσως είναι  ένα πρώτο βήμα.

Αν δεν ξέρεις πώς να βάλεις παραμέτρους στην εκκίνηση του μηχανήματος (πχ σαν το κλασσικό vga=κάτι), το βρίσκουμε κ αυτό. Νομίζω ότι ο boot loader του Fedora 8 είναι ο grub. Μπορεί κάποιος να το επιβεβαιώσει παρακαλώ;

gnu-labis σε ευχαριστώ για την πολίτιμη βοήθεια σου.
Δυστυχώς έχω ελάχιστο χρόνο για να αφιερώνω στο linux και ακόμη δε έχω χρόνο να κοιτάξω αυτά που μου είπες.
Αν κατάλαβα καλά ο πυρήνας για κάποιο λόγο δίνει προτεραιότητα λιγότερη στο "κάλεσμα" της usb από τι της κάρτας ήχου.Ίσως να έχει να κάνει γιατί η κάρτα ήχου είναι καινούρια και πιο "απαιτητική" σε σχέση με τα υπόλοιπα που ναι χρόνια τώρα.
θα κοιτάξω με την πρώτη ευκαιρία να βγάλω την κάρτα ήχου και να ψάξω τις ρυθμίσεις στο BIOS.
Πάντως ο boot loader είναι grub στο fedora 8.Η αλήθεια είναι ότι δε ξέρω πως να παραμετροποιήσω την εκκίνηση....μάλλον πρέπει να βρω κάποιο αρχείο και να του συμπληρώσω κάτι γραμμές με έναν κειμενογράφο φαντάζομαι...θα ήμουν πολύ ευγνώμων αν μου δείχνατε πως...
ευχαριστώ εκ των προτέρων για τη βοήθεια σας

Όχι δεν είναι θέμα προτεραιότητας μεταξύ συσκευών. Μπορούμε να το συζητήσουμε κ παραπέρα αν σε ενδιαφέρει.

Αν έχεις grub, το να προσθέσεις παραμέτρους γίνεται με 2 τρόπους. Ο ένας (που μας ενδιαφέρει τώρα) είναι προσωρινός κ γίνεται στην οθόνη εκκίνησης:

Μόλις ανοίξει η οθόνη του grub κ σε βάλει να διαλέξεις τι θα φορτώσεις, πήγαινε στην επιλογή που θες (αυτή που χρησιμοποιείς) κ πάτα το πλήκτρο "e" (από το e = edit).

Η οθόνη θα αλλάξει κ θα σου δείξει τις γραμμές που θα εκτελέσει αν φορτώσεις αυτή την επιλογή. Στη γραμμή που λέει περί "kernel" ξαναπατάς "e" για να την αλλάξεις, κ πηγαίνεις στο τέλος της γραμμής κ προσθέτεις όποια ή όποιες παραμέτρους θες, με κενό μεταξύ τους. Στην περίπτωση μας δοκίμασε πρώτα να γράψεις "irqfixup", κ αν δεν γίνει δουλειά δοκίμασε κ irqpoll (ένα από τα δύο, κ τα δύο μαζί δεν έχουν νόημα).

Αφου προσθέσεις ό,τι θες πατάς enter για να τελειώσει το edit, κ μετά πατάς "b" για boot.

Οι αλλαγές που έκανες είναι προσωρινές, στο επόμενο reset θα χαθούν. Ο τρόπος αυτός είναι για δοκιμές (όπως στην περίπτωση μας).

Αν κάποια δουλέψει κ σ'αρέσει το αποτέλεσμα, τότε θα πας να πειράξεις το αρχείο /boot/grub/menu.lst για να τις μονιμοποιήσεις. Αυτός είναι ο άλλος τρόπος, αλλά προτρέχουμε.

gnu-labis εισαι καταπληκτικός.bravo.καταρχήν, ευχαριστώ που μου δωσες τα φώτα σου.Ωστόσο, οφείλω να παραδεχτώ ότι ήδη το λειτουργικό φώναζε από μόνο του ...irq :10 nobody cared (try booting with the "irqpoll" option)...πράγματι όταν έκανα edit τον grub κατά την εκκίνηση το pc έβρισκε το usb είτε την 1η φορά όταν έβαλα το irqfixup είτε τη 2η με to irqpoll.
Η επόμενη κίνηση μου ήταν να βγάλω την κάρτα ήχου μήπως ήταν αυτή που έφταιγε.....την έβγαλα λοιπόν και δεν την έβλεπε!!!όταν έκανα πάλι reboot και έδωσα edit τον grub me irqpoll τελικά έβλεπε πάλι το ysb.Τώρα φαίνεται σίγουρα ότι δεν είναι θέμα προτεραιότητας του πυρήνα!!
Τελικά, αφού ξανάβαλα την κάρτα ήχου και παιδεύτηκα λίγο με τον gedit editor κατάφερα να μονιμοποιήσω την αλλαγη'στο /boot/grub/menu.lst
Πάντως όταν είχα βγάλει την κάρτα ήχου και έτρεξα τις εντολές που μου χεις δώσει βγάζει τα παρακάτω αποτελέσματα:

input: PC Speaker as /class/input/input5
8139cp: 10/100 PCI Ethernet driver v1.3 (Mar 22, 2004)
8139cp 0000:00:09.0: This (id 10ec:8139 rev 10) is not an 8139C+ compatible chip
8139cp 0000:00:09.0: Try the "8139too" driver instead.
8139too Fast Ethernet driver 0.9.28
ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 5
PCI: setting IRQ 5 as level-triggered
ACPI: PCI Interrupt 0000:00:09.0[A] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5
eth0: RealTek RTL8139 at 0xe281c000, 00:11:6b:95:e5:c7, IRQ 5
eth0: Identified 8139 chip type 'RTL-8100B/8139D'
parport_pc 00:0a: reported by Plug and Play ACPI
parport0: PC-style at 0x378 (0x778), irq 7 [PCSPP,TRISTATE,EPP]
SELinux: initialized (dev ramfs, type ramfs), uses genfs_contexts
NET: Registered protocol family 10
lo: Disabled Privacy Extensions
ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11
ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
device-mapper: multipath: version 1.0.5 loaded
loop: module loaded
EXT3 FS on dm-0, internal journal
kjournald starting. Commit interval 5 seconds
EXT3 FS on sda1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
SELinux: initialized (dev sda1, type ext3), uses xattr
SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
Adding 1114104k swap on /dev/mapper/VolGroup00-LogVol01. Priority:-1 extents:1 across:1114104k
SELinux: initialized (dev binfmt_misc, type binfmt_misc), uses genfs_contexts
firmware: requesting intel-ucode/06-06-00
IA-32 Microcode Update Driver: v1.14a
microcode: CPU0 updated from revision 0x9 to 0xa, date = 05051999
warning: process `kudzu' used the deprecated sysctl system call with 1.23.
ip6_tables: (C) 2000-2006 Netfilter Core Team
nf_conntrack version 0.5.0 (9216 buckets, 36864 max)
ip_tables: (C) 2000-2006 Netfilter Core Team
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
eth0: no IPv6 routers present
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
SELinux: initialized (dev rpc_pipefs, type rpc_pipefs), uses genfs_contexts
warning: `dbus-daemon' uses 32-bit capabilities (legacy support in use)
SELinux: initialized (dev autofs, type autofs), uses genfs_contexts
SELinux: initialized (dev autofs, type autofs), uses genfs_contexts
SELinux: initialized (dev autofs, type autofs), uses genfs_contexts
Bluetooth: Core ver 2.11
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP ver 2.9
Bluetooth: L2CAP socket layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM ver 1.8
Bluetooth: BNEP (Ethernet Emulation) ver 1.2
Bluetooth: BNEP filters: protocol multicast
Bridge firewalling registered
pan0: Dropping NETIF_F_UFO since no NETIF_F_HW_CSUM feature.
[user01@localhost ~]$ lsusb
bash: lsusb: command not found
[user01@localhost ~]$ whereis lsusb
lsusb: /sbin/lsusb /usr/share/man/man8/lsusb.8.gz
[user01@localhost ~]$ /sbin/lsusb
Bus 001 Device 001: ID 1d6b:0001
[user01@localhost ~]$ tail -f /var/log/dmesg
device-mapper: multipath: version 1.0.5 loaded
loop: module loaded
EXT3 FS on dm-0, internal journal
kjournald starting. Commit interval 5 seconds
EXT3 FS on sda1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
SELinux: initialized (dev sda1, type ext3), uses xattr
SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
Adding 1114104k swap on /dev/mapper/VolGroup00-LogVol01. Priority:-1 extents:1 across:1114104k
SELinux: initialized (dev binfmt_misc, type binfmt_misc), uses genfs_contexts
^C
[user01@localhost ~]$ cat /proc/interrupts
CPU0
0: 428595 XT-PIC-XT timer
1: 259 XT-PIC-XT i8042
2: 0 XT-PIC-XT cascade
3: 3 XT-PIC-XT
4: 3 XT-PIC-XT
5: 196 XT-PIC-XT eth0
6: 5 XT-PIC-XT floppy
7: 1 XT-PIC-XT parport0
9: 0 XT-PIC-XT acpi
11: 0 XT-PIC-XT uhci_hcd:usb1
12: 9194 XT-PIC-XT i8042
14: 12617 XT-PIC-XT pata_via
15: 6733 XT-PIC-XT pata_via
NMI: 0 Non-maskable interrupts
LOC: 0 Local timer interrupts
RES: 0 Rescheduling interrupts
CAL: 0 function call interrupts
TLB: 0 TLB shootdowns
TRM: 0 Thermal event interrupts
SPU: 0 Spurious interrupts
ERR: 0
MIS: 0
[user01@localhost ~]$

τελικά τι φταίει άραγε και έπρεπε να βάλω πρόσθετη εντολή στο grub?
ευχαριστώ για άλλη μια φορά για την πολυτιμη βοήθειά σας

Για να εξηγήσω τι συμβαίνει πρέπει πρώτα να καταλάβεις κάποια πράγματα από τις βασικές αρχές λειτουργίας ενός υπολογιστή.

Σχετική σελίδα στα ελληνικά δεν βρήκα, οπότε θα προσπαθήσω να τα πω με δικά μου λόγια.

Τι είναι τα interrupts:

Ο Η/Υ αποτελείται από τον επεξεργαστή κ περιφερειακές συσκευές. Όλες σχεδόν οι συσκευές επικοινωνούν με τον επεξεργαστή, καθότι αυτός "τρέχει" όλα τα προγράμματα. Όταν πχ ένα πρόγραμμα θέλει να γράψει κάτι στο σκληρό δίσκο, η αίτηση του εξυπηρετείται από τον επεξεργαστή, ο οποίος στέλνει τα κατάλληλα μηνύματα στον ελεγκτή του δίσκου (πχ SATA controller για SATA δίσκους). Ο επεξεργαστής μπορεί να επικοινωνεί μόνο με ένα περιφερειακό ανά πάσα στιγμή, αλλά γίνεται τόσο γρήγορα που σου φαίνεται ότι το "πάρε-δώσε" μεταξύ επεξεργαστή κ περιφερειακών γίνεται παράλληλα.

Τι γίνεται όμως στην αντίθετη κατεύθυνση επικοινωνίας; Αν το περιφερειακό θέλει να μιλήσει στον επεξεργαστή; Πχ, πατάς ένα πλήκτρο στο πληκτρολόγιο σου, πώς ενημερώνεται ο επεξεργαστής κ κατ'επέκταση το πρόγραμμα σου ότι πατήθηκε ένα πλήκτρο; Πώς μπορεί να ξέρει το πληκτρολόγιο πότε είναι η σειρά του να επικοινωνήσει με τον επεξεργαστή;

Η απάντηση είναι ότι δεν μπορεί. "Αφέντης" είναι μόνο ο επεξεργαστής (ναι, ναι, κ στους υπολογιστές διακρίσεις) κ μόνο αυτός αποφασίζει. Τα απλουστεύω λίγο, αλλά νομίζω ότι αρκούν για αυτό που θέλω να εξηγήσω.

Υπάρχουν δύο λύσεις λοιπόν. Η μία είναι κάθε λίγο κ λιγάκι (χιλιάδες φορές το δευτερόλεπτο) ο επεξεργαστής να ελέγχει κάθε συσκευή, μήπως κ έχει κάτι να του πει. Αυτό όμως του τρώει χρόνο, ειδικά τη στιγμή που μπορεί να μην υπάρχει κ τίποτα από τη συσκευή. Μπορεί πχ να μην χρησιμοποιήσεις το πληκτρολόγιο για 48 ώρες. Γιατί να πρέπει παρ'όλα αυτά ο επεξεργαστής σου να το ελέγχει τακτικά για γεγονότα κ να ξοδεύει το χρόνο του;

Γι'αυτό κ υπάρχει η δεύτερη λύση, τα interrupts. Ο επεξεργαστής έχει μερικά κανάλια επικοινωνίας αφιερωμένα στα περιφερειακά του. Κάθε περιφερειακό μπορεί να κατοχυρώσει μια τέτοια γραμμή, ένα interrupt, το οποίο κ χρησιμοποιεί για να "σκουντάει" τον επεξεργαστή όταν τον χρειάζεται. Δεν στέλνει δεδομένα μέσω του interrupt (πχ το πληκτρολόγιο σου δεν στέλνει ποιο πλήκτρο πάτησες), απλά ενημερώνει ότι κάτι συνέβη κ χρειάζεται την προσοχή του επεξεργαστή.

Με αυτό τον τρόπο, ο επεξεργαστής μπορεί να δρομολογήσει να "επισκεφτεί" το συντομότερο δυνατό αυτή τη συσκευή για να δει τι έγινε. Στην περίπτωση του πληκτρολογίου, θα μάθει ότι πατήθηκε κάποιο πλήκτρο κ θα προωθήσει την πληροφορία κατάλληλα. Στη συνέχεια θα επιστρέψει στα προηγούμενα καθήκοντα του.

Αν ξαναδείς λοιπόν τι σου λέει το αρχείο /proc/interrupts:

0: 1008141 XT-PIC-XT timer
1: 1733 XT-PIC-XT i8042
2: 0 XT-PIC-XT cascade
3: 3 XT-PIC-XT
4: 3 XT-PIC-XT
5: 12566 XT-PIC-XT eth0
6: 5 XT-PIC-XT floppy
7: 1 XT-PIC-XT parport0
9: 0 XT-PIC-XT acpi
10: 144 XT-PIC-XT snd_ca0106
11: 0 XT-PIC-XT uhci_hcd:usb1
12: 28994 XT-PIC-XT i8042
14: 16365 XT-PIC-XT pata_via
15: 15383 XT-PIC-XT pata_via

Ο επεξεργαστής σου, καθότι παλιός έχει μόνο 16 interrupts, αριθμημένα από 0 εώς κ 15. Η πρώτη στήλη είναι λοιπόν ο αριθμός του καναλιού. Η δεύτερη στήλη δείχνει πόσα interrupts έχουν συμβεί σε αυτό το κανάλι. Η τρίτη δείχνει τι "τεχνολογίας" interrupt είναι (XT-PIC-XT = παλιά τεχνολογία), ενώ η τελευταία στήλη δείχνει ποια συσκευή έχει κατοχυρώσει κ χρησιμοποιεί τη γραμμή.

Πχ, η κάρτα δικτύου σου (eth0) χρησιμοποιεί το interrupt 5, κ έχει δημιουργήσει 12566 interrupts από τότε που άνοιξες τον υπολογιστή σου.

Αυτά με τα interrupts, ελπίζω να μην σε μπέρδεψα παραπάνω.

Τι έγινε στην περίπτωση σου:

Ένα από τα περιφερειακά είναι κ ο ελεγκτής USB. Αυτή η συσκευή "κάθεται" πίσω από τις USB θύρες σου κ παρακολουθεί πότε συνδέεται μια συσκευή, πότε αποσυνδέεται, στέλνει κ λαμβάνει δεδομένα. Είναι η πύλη του υπολογιστή σου προς όλες τις συσκευές USB που συνδέεις πάνω του. Στην έκδοση USB1 υπήρχαν δύο μεγάλες οικογένειες ελεγκτών, οι UHCI κ OHCI. Στην έκδοση USB2 ευτυχώς βάλανε μυαλό κ υπάρχει μόνο μια οικογένεια, η EHCI.

Όταν μια νέα συσκευή εντοπίζεται από τον ελεγκτή USB, τότε αυτός στέλνει ένα interrupt στον επεξεργαστή για να του πει ότι έχει να του ψιθυρήσει δύο λογάκια. Ο επεξεργαστής θα επισκεφτεί τον ελεγκτή κ θα δει ότι υπάρχει νέα συσκευή, οπότε κ θα δώσει εντολή να αρχίσει η διαδικασία που καταλήγει στο να δεις εσύ στην οθόνη σου το πολυπόθητο μύνημα "new usb device connected" ή κάτι παρόμοιο.

Όμως, στην περίπτωση σου, ενώ το αρχείο /proc/interrupts δείχνει ότι ο ελεγκτής USB (UHCI) χρησιμοποιεί τη γραμμή 11, όταν συνδέεις μια συσκευή, το σύστημα σε ενημερώνει ότι δέχτηκε κάτι στη γραμμή 10 (όπου κανονικά βρίσκεται η κάρτα ήχου). Το σύστημα μπερδεύεται κ μην ξέροντας τι να κάνει, απενεργοποιεί τη γραμμή 10.

Απόδειξη στα παραπάνω είναι ότι το /proc/interrupts δείχνει 0 interrupts στη γραμμή 11.

Όταν σου πρότεινα να βγάλεις την κάρτα ήχου, ήλπιζα ότι χωρίς την κάρτα ο ελεγκτής USB θα έπαιρνε το κανάλι 10 αντί για το 11 κ όλα θα ήταν μέλι-γάλα. Τελικά όπως φάνηκε, το 10 έμεινε άδειο, αχρησιμοποίητο, κ ο ελεγκτής USB παρέμεινε στο 11:

0: 428595 XT-PIC-XT timer
1: 259 XT-PIC-XT i8042
2: 0 XT-PIC-XT cascade
3: 3 XT-PIC-XT
4: 3 XT-PIC-XT
5: 196 XT-PIC-XT eth0
6: 5 XT-PIC-XT floppy
7: 1 XT-PIC-XT parport0
9: 0 XT-PIC-XT acpi
11: 0 XT-PIC-XT uhci_hcd:usb1
12: 9194 XT-PIC-XT i8042
14: 12617 XT-PIC-XT pata_via
15: 6733 XT-PIC-XT pata_via

Όσο για τα irqfixup κ irqpoll, αυτό που κάνουν είναι ότι υποχρεώνουν τον επεξεργαστή σου, όταν δέχεται κάποιο interrupt κ δεν ξέρει τι να το κάνει, να ρωτάει τις συσκευές κ στα υπόλοιπα κανάλια. Έτσι, στην περίπτωση σου, όταν συνδέεις μια συσκευή κ δημιουργείται interrupt στο 10, το οποίο πέφτει στο "κενό", ο επεξεργαστής, πριν σηκώσει τα χέρια ψηλά, ρωτάει κ όλα τα άλλα κανάλια. Έτσι καταλήγει να ρωτήσει κ στο 11, όπου κάθεται ο UHCI κ εκεί βρίσκει την υγειά του.

Όπως είπα κ σε προηγούμενη απάντηση, αυτό το κόλπο έχει ένα προφανές κόστος, αλλά είναι πολύ καλύτερα από το τίποτα.

Επίσης, η διαφορά μεταξύ των δύο παραμέτρων είναι ότι το irqfixup ρωτάει κάποιες συσκευές, ενώ το irqpoll ρωτάει όλες τις συσκευές κ επομένως έχει λίγο μεγαλύτερο κόστος στην απόδοση του μηχανήματος. Γι'αυτό κ αν σου δουλεύει με irqfixup, το προτιμάς από το irqpoll.

Για ποιο λόγο έγινε αυτό το μπέρδεμα;

Η αλήθεια είναι ότι ... δεν ξέρω. Το μόνο που σκέφτηκα κ πρότεινα είναι το BIOS. Κανονικά, το ποιος θα πάρει ποιο κανάλι προκύπτει έπειτα από κουβέντα μεταξύ περιφερειακών, BIOS κ λειτουργικού όταν ανοίγεις τον υπολογιστή. Αν όλα είναι ρυθμισμένα στο αυτόματο, μπορεί κ από boot σε boot να δεις άλλες αντιστοιχίες συσκευών με κανάλια. Έτσι γίνεται κανονικά.

Αν όμως κάπου στο BIOS έχει πει κάποιος ότι ντε κ καλά θέλει το 11 για τον ελεγκτή USB, παρότι το λειτουργικό πρέπει κανονικά να το σεβαστεί, υπάρχουν περιπτώσεις που μπλέκονται τα πράγματα, ειδικά στο linux. Η αιτία είναι ότι τα BIOS δεν είναι open source, οπότε οι developers του linux πρέπει λίγο να μυρίσουν τα νύχια τους για να διαβάσουν τα περιεχόμενα του. Σε κάποια BIOS δουλεύει άψογα, σε άλλα όχι.

Αν λοιπόν αυτός είναι ο λόγος, τότε η οριστική λύση, χωρίς irqfixup κ λοιπές μόντες, είναι είτε να επιστρέψει η ρύθμιση για το κανάλι του USB στο αυτόματο, ή να το βάλεις χειροκίνητα από το 11 στο 10.

Ουφ, τα είπα όλα κ ησύχασα. Καλή ανάγνωση :)

2 χρόνια έρωτας, 5 σελίδες λόγος, κ αυτή... ούτε μια ματιά, ούτε μια κουβέντα :?

Το παράκανα μάλλον, ε; Ειλικρινά πάντως, προσπάθησα πολύ να γίνω κατανοητός κ χρήσιμος!

Όπως κ να έχει, να σημειώσουμε το thread ότι λύθηκε το πρόβλημα;

Κ κατά προτίμηση να μπει στον τίτλο το:

"irq 10: nobody cared (try booting with the "irqpoll" option)"

Γιατί μόνο του το "πρόβλημα με mounting usb" δε λέει κ πολλά.

Συγνώμη που άργησα να απαντήσω αλλά όπως ανάφερα και παλιότερα έχω ελάχιστο χρόνο για να ασχολούμαι με αυτά.........
ναι το πρόβλημα λύθηκε!!!τελικά με irqfixup παίζει μια χαρά!!!τώρα όταν μπήκα στα bios πρόσεξα τα 16 interrupts αλλά για να τα αλλάξω έπρεπε να γίνει ο χαμός εκεί μέσα και αν αλλάζει....ναι μια χαρά κατανοητός ήσουν .... και ως αναφορά τον τίτλο..... στο πρώτο άρθρο που δηλώθηκε δεν υπάρχει η δυνατότητα επεξεργασίας για να το αλλάξω....δεν έχω πρόβλημα αν μπορεί να το κάνει ο administrator

Κανένα πρόβλημα. Χαίρομαι που όλα σου δουλεύουν κ που ήμουν κατανοητός. Σχετικά με το BIOS, το μόνο που πρέπει να κοιτάξεις για αρχή, αφού βρήκες τα 16 interrupts, είναι κατά πόσον είναι (ή μπορούν να μπουν) σε αυτόματη ρύθμιση.

Σχετικά με τα interrupts τα δοκίμασα και αυτόματα αλλά και πάλι δεν το έβλεπε το usb παρά μόνο με irqfixup ή irqpoll.Πάντως ευχαριστώ όπως και να χει.Το θέμα πλέον έχει να κάνει με λογαριασμούς κλειστού τύπου!:P