Reading UDF CD-RW in Xandros Linux

I wrote earlier
about problems with the Linux UDF driver
. This driver is used
to access DVD-RWs and CD-RWs that are formated in Windows using,
for example, Roxio or Adaptec’s UDF drivers for multiple
read/write operations. In other words, the disc has been formated
in Windows to operate like a very, very large floppy. So, you can
read, write, add, delete, edit and just about do everything you
could do with a floppy disc.

At first, I thought I had to either re-compile the kernel,
upgrade to the 2.6.11-1x kernel (see more below), or just forget
about ever accessing the gigabytes of backed up data that I
created while using Windows and wrote to CD-RW discs. But this is
not the case.

By reading the CD-ROM
How-To
and especially the linux.faqts
article on Linux: UDF: Windows Roxio
I am now able to at
least read my CD-RW backup discs. I can’t write to them, but I
can at least read them.

Here’s what I had to do in Xandros Linux. I emphasize that the
commands below may be specific to Xandros and you may need to use
something else.

First, I needed to create a directory to mount the CD-RW to.
To do this, I began by opening a console window to get to the
command line. Note, you could do a lot of what needs to be done
from within KDE or Gnome but it’s easier to go to the command
line. You need to be root when issuing these changes so you may
was well as type in, su, hit the
enter key, and then type in the password for root (if you didn’t
log in as root, which as a security precaution you shouldn’t be
doing) now. Then type in mkdir
/mnt/cdrw
and hit the enter key. Note, what you
call the directory you are creating is up to you, as long as it
isn’t already being used or is a system reserved word. Otherwise,
you can call it whatever you want.

The second thing to do is load the UDF driver. You do this by
typing modprobe udf and hitting the
enter key. To confirm whether the driver loaded, you can type in
cat /proc/filesystems and hit enter.
This should list a load of drivers, one of which should be
udf.

Lastly, you need to mount the CD-RW by typing in
mount -t udf -o ro /dev/cdrom
/mnt/cdrw
and hit the enter key. If all went well,
you can now change to the directory /mnt/cdrw and browse the
files on your CD. Note, the part of the command -o
ro
sets the system to read only. You can change it
to -o rw but so far, when I do, I get
the following message:mount: block device /dev/cdrom is
write protected, mounting read-only.
I need to figure
out why this is happening and what, if anything, I can do about
it. The how-tos are kind of vague about this and say you may or
may not be able to get this to work.

Before removing the disc, you should probably unmount it by
typing the command umount -a -t
udf
.Once unmounted, feel free to eject the
disc.

In any case, I now have read access to the data, even if it’s
not as functional as in Windows. Oh, one other thing, Windows
long file names may be displayed as a truncated 8.3 name. There
is apparently a way of enabling long file name support but I
haven’t found out how to do that yet.

Now, in my earlier post, I had talked about upgrading to the
2.6.11 kernel. I thought I would have to download the more than
30MBs of source code and compile it myself. This was based on my
search of the Xandros Network repository using the search term
kernel. This search turned up only
the source code. Little did I know I needed to search on
xandros-kernel to find the 2.6.11
kernel image. Once I found that, installing the new kernel was
just a matter of clicking on the install link and Bob’s your
Uncle, I had the 2.6.11 kernel installed. How cool is that?

Now if I could only get write access to the drive…YMMV.
Use at your own risk. Insert disclaimer here.

[UPDATE] I need to add instructions for DVDs. As you might
expect, they are very simialr to CD-RW so I won’t go into an
explanation:

mkdir /mnt/dvdrw
modprobe udf
mount -t udf -o ro /dev/dvd
/mnt/dvdrw

umount -a -t
udf

Aloha!

Advertisements

2 responses to “Reading UDF CD-RW in Xandros Linux

  1. UDF disks are not just a problem fo Linux. Not all disks written on one windows box will be usable on another windows box. Just small version difference in drivers and firmware cause problems.

  2. I too could not figure out why Xandros was not auto-mounting my packet-written discs as UDF (well, I still don’t know why) but, thanks to your post, I learned how to generate a second mount point for the drive (mine’s a DVD-RAM recorder) that will bring it up in File Manager as a UDF drive and show the actual files on the UDF-formatted partition, rather than the squirelly little HTML help files that Nero sneaks into the iso9660 partition when it formats the disc.

    As I let slip above, I format my disks using Nero InCD – and their contents now show up just fine in Xandros. I’m still having a major problem though – I can’t copy any LARGE files to the disc. Small files work great, but Xandros just freezes up after about 15-20 MB of a large 800 MB file I’ve been trying to copy (actually, it’s just slowing down to a crawl, but XFM and the copy dialog act frozen for long stretches of time). It must be some problem with cacheing, or buffering, or the swap file, or somesuch. I’m going to have to do a lot of research on this probably.

    Now, as to the problem you’re having gaining write access, not sure if I can help, but at least I can give you my config (which worked right off the bat with full r/w access).

    Main difference is in what I reference as my device name, since my Xandros (3.0) install sets up my two cdrom devices not as /dev/cdrom or /dev/dvd, but as /dev/cdroms/hdc and /dev/cdroms/hdd. That’s a big difference (but maybe you’re still using Xandros version 2?).

    Xandros also sets up automounting of all removable drives in the /etc/mtab file, using links to the devices it’s created in /var/autofs. It also does some fancy on-the-fly configuration of the mount directories /disks and /media during boot – so I wouldn’t mess with any of those directories when mounting any disks yourself. My DVD-RAM drive is automounted when I start Xandros, as an iso9660 drive, and shows up in the File Manager as a separate device in the Folders list called DVD-RW, outside of the All File Systems folder entirely.

    So, I created a directory for the mount point, as /mnt/dvd-ram, then I opened the /etc/fstab file in Text Editor and copy-and-pasted the line for the device (/dev/cdroms/hdd) to a new line, changing only the mount point to /mnt/dvd-ram and the “ro” option to “rw” (being careful not to delete or change the original entry for that drive).

    Then, since Xandros has so kindly eradicated KDE’s built-in templates for creating desktop shortcuts to any sort of drive or device, I spent a couple of hours online hunting up the syntax for a KDE block device shortcut and came up with the following shortcut file, which I placed on my desktop.

    Just create this file in Text Editor and save it to your Home/Desktop folder as anything you like, so long as the file extension is “.desktop” (I named mine “DVD-RW Drive (Mount UDF)”):

    [Desktop Entry]
    Dev=/dev/cdroms/hdd
    FSType=udf
    Icon=dvd_mount
    MountPoint=/mnt/dvd-ram
    ReadOnly=false
    Type=FSDevice
    UnmountIcon=dvd_unmount

    And voila (or, as you said, Bob’s your uncle), I now have a shortcut on my desktop that opens up my DVD-RAM drive in WRITEABLE UDF mode just by double-clicking on it. You can also mount and ummount the drive just by right-clicking on the desktop icon. (It has a bad habit of showing up already “mounted” at boot-up, even though that particular mount point has NOT been mounted (at least not by fstab, which is set to “noauto”), but I’ve found that just double-clicking on it will ACTUALLY mount it UDF on-the-fly while it’s opening a new File Manger window and then the right-click option to “Unmount” will be applicable.)

    Hope it works for you.