How to check if a cdrom is in the tray remotely (via ssh)?
I have a server running Ubuntu 10.04 (it's on the other side of the world and I haven't built up the wherewithal to upgrade it remotely yet) and I have been told that there is a CD in one of it's two CD drives. I want to rip an image of the cd and then download it to my local computer (I don't need help with either of these steps).
However, I cannot seem to confirm whether or not there actually is a CD in the drive as I was told. It did not automatically mount anywhere (which I'm thinking might just be a result of it being a headless server not running X, nautilus, or any of the other nice user friendly things).
There are two CD drives connected via SCSI:
austin@austinvpn:/proc/scsi$ cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: WDC WD400EB-75CP Rev: 06.0
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: Lite-On Model: LTN486S 48x Max Rev: YDS6
Type: CD-ROM ANSI SCSI revision: 05
Host: scsi1 Channel: 00 Id: 01 Lun: 00
Vendor: SAMSUNG Model: CD-R/RW SW-248F Rev: R602
Type: CD-ROM ANSI SCSI revision: 05
However when I try mounting either of these devices (and every other device that could possibly be the cd-drive), it says no medium found
:
austin@austinvpn:/proc/scsi$ sudo mount -t iso9660 /dev/scd1 /cdrom
mount: no medium found on /dev/sr1
austin@austinvpn:/proc/scsi$ sudo mount -t iso9660 /dev/scd0 /cdrom
mount: no medium found on /dev/sr0
austin@austinvpn:/proc/scsi$ sudo mount -t iso9660 /dev/cdrom /cdrom
mount: no medium found on /dev/sr1
austin@austinvpn:/proc/scsi$ sudo mount -t iso9660 /dev/cdrom1 /cdrom
mount: no medium found on /dev/sr0
austin@austinvpn:/proc/scsi$ sudo mount -t iso9660 /dev/cdrw /cdrom
mount: no medium found on /dev/sr1
Here are the contents of my /dev
folder:
austin@austinvpn:/proc/scsi$ ls /dev
agpgart loop6 ram6 tty10 tty38 tty8
austinvpn loop7 ram7 tty11 tty39 tty9
block lp0 ram8 tty12 tty4 ttyS0
bsg mapper ram9 tty13 tty40 ttyS1
btrfs-control mcelog random tty14 tty41 ttyS2
bus mem rfkill tty15 tty42 ttyS3
cdrom net root tty16 tty43 urandom
cdrom1 network_latency rtc tty17 tty44 usbmon0
cdrw network_throughput rtc0 tty18 tty45 usbmon1
char null scd0 tty19 tty46 usbmon2
console oldmem scd1 tty2 tty47 usbmon3
core parport0 sda tty20 tty48 usbmon4
cpu_dma_latency pktcdvd sda1 tty21 tty49 vcs
disk port sda2 tty22 tty5 vcs1
dri ppp sda5 tty23 tty50 vcs2
ecryptfs psaux sg0 tty24 tty51 vcs3
fb0 ptmx sg1 tty25 tty52 vcs4
fd pts sg2 tty26 tty53 vcs5
full ram0 shm tty27 tty54 vcs6
fuse ram1 snapshot tty28 tty55 vcs7
hpet ram10 snd tty29 tty56 vcsa
input ram11 sndstat tty3 tty57 vcsa1
kmsg ram12 sr0 tty30 tty58 vcsa2
log ram13 sr1 tty31 tty59 vcsa3
loop0 ram14 stderr tty32 tty6 vcsa4
loop1 ram15 stdin tty33 tty60 vcsa5
loop2 ram2 stdout tty34 tty61 vcsa6
loop3 ram3 tty tty35 tty62 vcsa7
loop4 ram4 tty0 tty36 tty63 vga_arbiter
loop5 ram5 tty1 tty37 tty7 zero
And here is my fstab
file:
austin@austinvpn:/proc/scsi$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
/dev/mapper/austinvpn-root / ext4 errors=remount-ro 0 1
# /boot was on /dev/sda1 during installation
UUID=ed5520ae-c690-4ce6-881e-3598f299be06 /boot ext2 defaults 0 2
/dev/mapper/austinvpn-swap_1 none swap sw 0 0
Am I missing something/doing something wrong, or is there just no CD in the drive or is the drive possibly broken? Is there any nice command to list devices with mountable media?
Thanks in advance for any help!
Solution 1:
The output isn't quite as pretty as yours but it doesn't require you to install anything:
$ sudo lshw | awk '/\*-cd/,/con/' | sed -e 's/^[ \t]*//'
*-cdrom
description: DVD-RAM writer
product: DVD RW AD-7240S
vendor: Optiarc
physical id: 0.0.0
bus info: scsi@8:0.0.0
logical name: /dev/sr0
version: 1.00
capabilities: removable audio cd-r cd-rw dvd dvd-r dvd-ram
configuration: ansiversion=5 status=nodisc
*-cdrom
description: DVD-RAM writer
physical id: 0.0.0
bus info: scsi@9:0.0.0
logical name: /dev/cdrom
logical name: /dev/cdrw
logical name: /dev/dvd
logical name: /dev/dvdrw
logical name: /dev/sr1
logical name: /media/X3_Linux
capabilities: audio cd-r cd-rw dvd dvd-r dvd-ram
configuration: mount.fstype=iso9660 mount.options=ro,nosuid,nodev,relatime,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500 state=mounted status=ready
Solution 2:
Using hwinfo:
I think I just answered my own questions using the hwinfo
tool. This tool searches for and lists a bunch of useful information about the various devices on your computer.
It can be installed with sudo apt-get install hwinfo
.
It can also be run with the --<hwitem>
flag to only list info for a particular type of hardware (ie. cd drives) here are the options for this flag:
--<hwitem>
Probe for the particular hardware item. Available hardware items
are: all, bios, block, bluetooth, braille, bridge, camera,
cdrom, chipcard, cpu, disk, dsl, dvb, fingerprint, floppy,
framebuffer, gfxcard, hub, ide, isapnp, isdn, joystick, key‐
board, memory, modem, monitor, mouse, netcard, network, parti‐
tion, pci, pcmcia, pcmcia-ctrl, pppoe, printer, scanner, scsi,
smp, sound, storage-ctrl, sys, tape, tv, usb, usb-ctrl, vbe,
wlan, and zip.
Using the cdrom
flag I can find the information I need.
austin@austinvpn:/proc/scsi$ sudo hwinfo --cdrom
15: SCSI 100.0: 10602 CD-ROM
[Created at block.247]
Unique ID: KD9E.skIhcO_MyD1
Parent ID: 3p2J.7RBlinTaF34
SysFS ID: /class/block/sr0
SysFS BusID: 1:0:0:0
SysFS Device Link: /devices/pci0000:00/0000:00:1f.1/host1/target1:0:0/1:0:0:0
Hardware Class: cdrom
Model: "Lite-On LTN486S 48x Max"
Vendor: "Lite-On"
Device: "LTN486S 48x Max"
Revision: "YDS6"
Driver: "ata_piix", "sr"
Device File: /dev/sr0 (/dev/sg1)
Device Files: /dev/sr0, /dev/block/11:0, /dev/scd0, /dev/disk/by-path/pci-0000:00:1f.1-scsi-1:0:0:0, /dev/cdrom1
Device Number: block 11:0 (char 21:1)
Drive status: no medium
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #9 (IDE interface)
Drive Speed: 48
16: SCSI 101.0: 10602 CD-ROM
[Created at block.247]
Unique ID: nOPI.WcCe56A4L50
Parent ID: 3p2J.7RBlinTaF34
SysFS ID: /class/block/sr1
SysFS BusID: 1:0:1:0
SysFS Device Link: /devices/pci0000:00/0000:00:1f.1/host1/target1:0:1/1:0:1:0
Hardware Class: cdrom
Model: "SAMSUNG CD-R/RW SW-248F"
Vendor: "SAMSUNG"
Device: "CD-R/RW SW-248F"
Revision: "R602"
Driver: "ata_piix", "sr"
Device File: /dev/sr1 (/dev/sg2)
Device Files: /dev/sr1, /dev/block/11:1, /dev/scd1, /dev/disk/by-path/pci-0000:00:1f.1-scsi-1:0:1:0, /dev/cdrom, /dev/cdrw
Device Number: block 11:1 (char 21:2)
Drive status: no medium
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #9 (IDE interface)
Drive Speed: 48
As you can see, it reports, Drive status: no medium
for both drives--appearing to confirm that the CD is either not in the drive, the CD is unrecognizable, or the drive is broken.
Using hwinfo to find drive status:
If you didn't want to look through all the info hwinfo
lists, you could further automate the process with the following command:
sudo hwinfo --cdrom | grep 'Drive status:'
Which will quickly return whether there are CDs in any of the drives.
austin@austinvpn:/proc/scsi$ sudo hwinfo --cdrom | grep 'Drive status:'
Drive status: no medium
Drive status: no medium
I'm looking to see if there is a way to grep
the Model name at the same time, and I'll update this answer when I figure it out.
Hope this can help someone else!
edit:
Here is a slightly more useful command that will output the model name and device file as well (so if a medium is present, you will know which drive it is present in and where you can mount it from/ rip an image from).
sudo hwinfo --cdrom | grep -e 'Model' -e 'Drive status:' -e 'Device File:'
Here is what the output looks like:
austin@austinvpn:/proc/scsi$ sudo hwinfo --cdrom | grep -e 'Model' -e 'Drive status:' -e 'Device File:'
Model: "Lite-On LTN486S 48x Max"
Device File: /dev/sr0 (/dev/sg1)
Drive status: no medium
Model: "SAMSUNG CD-R/RW SW-248F"
Device File: /dev/sr1 (/dev/sg2)
Drive status: no medium