# After upgrading to FreeBSD 9.0 BETA2 cannot write CD/DVD



## uzbence (Oct 10, 2011)

After upgrading one of my test machines to 9.0 BETA2 I can not write CD/DVD.

relevant output:

```
# dmesg | grep cd0
cd0 at ahcich1 bus 0 scbus2 target 0 lun 0
cd0: <MATSHITA DVD-RAM UJ892 SB01> Removable CD-ROM SCSI-0 device

# camcontrol devlist
camcontrol: error sending CAMIOCOMMAND ioctl: Inappropriate ioctl for device

# growisofs -Z /dev/cd0=XYZ.ISO
:-( "/dev/cd0=XYZ.ISO": unexpected errno:No such file or directory

# cdrecord -scanbus
Cdrecord-ProDVD-ProBD-Clone 3.00 (amd64-unknown-freebsd9.0) Copyright (C) 1995-2010 Jï¿½rg Schilling
cdrecord: Inappropriate ioctl for device. CAMIOCOMMAND ioctl failed. Cannot open or use SCSI driver.
cdrecord: For possible targets try 'cdrecord -scanbus'.
cdrecord: For possible transport specifiers try 'cdrecord dev=help'.
```


-recompiled syutils/cdrtools and sysutils/dvd+rw-tools
-kernel OK
-user rights OK - no success even as ROOT
-playing around with growisofs parameters does not help 
-I have tried with external USB writer but the same unsuccess.

Everything worked before upgrading. I have run out of ideas.
Thanks in advance for any help.


----------



## kpa (Oct 10, 2011)

How did you upgrade to 9.0 BETA2 ? There was a change in /lib/libcam.so recently that broke some ports requiring a recompilation of those ports but camcontrol(8) is part of the base system and should have been updated properly as part the upgrade.

This is the recommended source based method to upgrade the base system:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html

I recommend to perform these steps after installing world in single user mode (while still in /usr/src):

`# make delete-old`
`# make delete-old-libs`


----------



## uzbence (Oct 10, 2011)

I did the upgrade from sources the way linked from the Handbook.

In the meantime I have upgraded to BETA3 and no change.


----------



## uzbence (Oct 10, 2011)

I studied the /usr/src/UPDATING regarding that new atapicam again.

After examining /dev I found that there are soft links created for the old ATA da6s.. pointing to the new ada0s...

After creating a link for acd0-cd0

`camcontrol devlist` gives:

```
# camcontrol devlist
<MATSHITA DVD-RAM UJ892 SB01>      at scbus0 target 0 lun 0 (cd0,pass0)
<WDC WD6400BEVT-22A0RT0 01.01A01>  at scbus2 target 0 lun 0 (ada0,pass1)
```

But unfortunately still no success with growisofs and cdrecord.

The problem really can be with the new atapicam.


----------



## uzbence (Oct 10, 2011)

I am writing a DVD now!


1. softlink acd0-cd0
2. Thanks to kpa!

```
# make delete-old
# make delete-old-libs
```
3. recompile cdrecord and DVD+RW-tools


----------



## paradox404 (Nov 23, 2011)

Thanks for help!

After all I have also recompiled hal and everything work.


----------



## cabriofahrer (Apr 1, 2012)

Well, I bumped into the same problem after having done a fresh install of FreeBSD 9.0. So after finding the thread "Automounting madness..." and this one I finally could get the solution: recompile hal, cdrtools (not cdrecord), and dvd+rw-tools. This means that the packages must be wrongly compiled as if they were for FreeBSD 8.X and not FreeBSD 9.0. Who is responsible for that? Can this be reported?


----------



## bsdanny (May 7, 2012)

I also have a freshly installed 9.0-RELEASE and `# cdrecord -scanbus` gave me the error:

```
cdrecord: Inappropriate ioctl for device. CAMIOCOMMAND ioctl failed. Cannot open or use SCSI driver
```

Thank you cabriofahrer, I recompiled these three tools as indicated and I am now able to burn DVDs :e.

Here are the commands in case you are wondering how to do it (these worked for me).

1. Install portmaster:

```
# cd /usr/ports/ports-mgmt/portmaster/
# make install clean
```

2. Find the versions of the ports:

```
$ pkg_info | egrep 'hal|cdrtools|dvd\+rw-tools'
cdrtools-3.00_1     CD/DVD/BluRay and ISO-9660 image creation and extraction to
dvd+rw-tools-7.1    DVD burning software
hal-0.5.14_17       Hardware Abstraction Layer for simplifying device access
```

3. Rebuild these three ports with:

```
# /usr/local/sbin/portmaster hal-0.5.14_17
# /usr/local/sbin/portmaster cdrtools-3.00_1
# /usr/local/sbin/portmaster dvd+rw-tools-7.1
```


----------

