FS#20550 - [udev] 161-1 breaks cd/dvd drive functionality
Attached to Project:
Arch Linux
Opened by Antony Williams (syxbit) - Saturday, 21 August 2010, 05:37 GMT
Last edited by Roman Kyrylych (Romashka) - Monday, 06 September 2010, 16:45 GMT
Opened by Antony Williams (syxbit) - Saturday, 21 August 2010, 05:37 GMT
Last edited by Roman Kyrylych (Romashka) - Monday, 06 September 2010, 16:45 GMT
|
Details
Description:
udev version udev-161-1 breaks DVD-ROM functionality on my computer. After upgrade, putting in a DVD with data shows up as a blank DVD in GNOME. reinstalling Udev 1.6.0-1 fixes everything Additional info: udev-161-1 Steps to reproduce: put in a DVD with videos, pictures etc.. and it will show up as a blank cd/DVD |
This task depends upon
attach the output of /lib/udev/cdrom_id --debug /dev/sr0
work fine here (HL-DT-ST DVDRAM GH20NS15, IL00), both blank media and complete media are identified OK.
main: probing: '/dev/sr0'
cd_inquiry: INQUIRY: [HL-DT-ST][DVDRAM GSA-H62N ][CL01]
cd_profiles: GET CONFIGURATION: size of features buffer 0x0160
cd_profiles: GET CONFIGURATION: feature 'profiles', with 14 entries
feature_profiles: profile 0x12 dvd_ram
feature_profiles: profile 0x11 <ignored>
feature_profiles: profile 0x15 <ignored>
feature_profiles: profile 0x16 <ignored>
feature_profiles: profile 0x14 dvd_rw
feature_profiles: profile 0x13 dvd_rw
feature_profiles: profile 0x1a dvd_plus_rw
feature_profiles: profile 0x1b dvd_plus_r
feature_profiles: profile 0x2b dvd_plus_r_dl
feature_profiles: profile 0x10 dvd_rom
feature_profiles: profile 0x09 cd_r
feature_profiles: profile 0x0a cd_rw
feature_profiles: profile 0x08 cd_rom
feature_profiles: profile 0x02 <ignored>
cd_profiles: GET CONFIGURATION: feature 0x0001 <ignored>, with 0x04 bytes
cd_profiles: GET CONFIGURATION: feature 0x0002 <ignored>, with 0x04 bytes
cd_profiles: GET CONFIGURATION: feature 0x0003 <ignored>, with 0x04 bytes
cd_profiles: GET CONFIGURATION: feature 0x0004 <ignored>, with 0x04 bytes
cd_profiles: GET CONFIGURATION: feature 0x0010 <ignored>, with 0x08 bytes
cd_profiles: GET CONFIGURATION: feature 0x001d <ignored>, with 0x00 bytes
cd_profiles: GET CONFIGURATION: feature 0x001e <ignored>, with 0x04 bytes
cd_profiles: GET CONFIGURATION: feature 0x001f <ignored>, with 0x04 bytes
cd_profiles: GET CONFIGURATION: feature 0x0020 <ignored>, with 0x0c bytes
cd_profiles: GET CONFIGURATION: feature 0x0021 <ignored>, with 0x08 bytes
cd_profiles: GET CONFIGURATION: feature 0x0023 <ignored>, with 0x00 bytes
cd_profiles: GET CONFIGURATION: feature 0x0024 <ignored>, with 0x04 bytes
cd_profiles: GET CONFIGURATION: feature 0x0026 <ignored>, with 0x00 bytes
cd_profiles: GET CONFIGURATION: feature 0x002a <ignored>, with 0x04 bytes
cd_profiles: GET CONFIGURATION: feature 0x002b <ignored>, with 0x04 bytes
cd_profiles: GET CONFIGURATION: feature 0x002c <ignored>, with 0x04 bytes
cd_profiles: GET CONFIGURATION: feature 0x002d <ignored>, with 0x04 bytes
cd_profiles: GET CONFIGURATION: feature 0x002e <ignored>, with 0x04 bytes
cd_profiles: GET CONFIGURATION: feature 0x002f <ignored>, with 0x04 bytes
cd_profiles: GET CONFIGURATION: feature 0x0033 <ignored>, with 0x08 bytes
cd_profiles: GET CONFIGURATION: feature 0x0037 <ignored>, with 0x04 bytes
cd_profiles: GET CONFIGURATION: feature 0x003b <ignored>, with 0x04 bytes
cd_profiles: GET CONFIGURATION: feature 0x0100 <ignored>, with 0x00 bytes
cd_profiles: GET CONFIGURATION: feature 0x0101 <ignored>, with 0x04 bytes
cd_profiles: GET CONFIGURATION: feature 0x0103 <ignored>, with 0x04 bytes
cd_profiles: GET CONFIGURATION: feature 0x0104 <ignored>, with 0x00 bytes
cd_profiles: GET CONFIGURATION: feature 0x0105 <ignored>, with 0x00 bytes
cd_profiles: GET CONFIGURATION: feature 0x0106 <ignored>, with 0x04 bytes
cd_profiles: GET CONFIGURATION: feature 0x0107 <ignored>, with 0x04 bytes
cd_profiles: GET CONFIGURATION: feature 0x0108 <ignored>, with 0x0c bytes
cd_profiles: GET CONFIGURATION: feature 0x010a <ignored>, with 0x0c bytes
cd_profiles: GET CONFIGURATION: feature 0x010b <ignored>, with 0x04 bytes
cd_profiles: GET CONFIGURATION: feature 0x010c <ignored>, with 0x10 bytes
cd_profiles: current profile 0x10
cd_profiles: profile 0x10 media_dvd_ro
cd_media_info: disk type 00
cd_media_toc: READ TOC: len: 20
cd_media_toc: track=1 info=0x4(data) start_block=0
cd_media_toc: last track 1 starts at block 0
ID_CDROM=1
ID_CDROM_CD=1
ID_CDROM_CD_R=1
ID_CDROM_CD_RW=1
ID_CDROM_DVD=1
ID_CDROM_DVD_R=1
ID_CDROM_DVD_RW=1
ID_CDROM_DVD_RAM=1
ID_CDROM_DVD_PLUS_R=1
ID_CDROM_DVD_PLUS_RW=1
ID_CDROM_DVD_PLUS_R_DL=1
ID_CDROM_MEDIA=1
ID_CDROM_MEDIA_DVD=1
ID_CDROM_MEDIA_STATE=complete
ID_CDROM_MEDIA_SESSION_COUNT=1
ID_CDROM_MEDIA_TRACK_COUNT=1
ID_CDROM_MEDIA_TRACK_COUNT_DATA=1
This is with udev 160 or 161? Attach both.
161-1 (3.5 KiB)
Sources:
http://repos.archlinux.org/wsvn/packages/udev/trunk/
http://git.kernel.org/?p=linux/hotplug/udev.git;a=tree [snapshot]
$ tar -zxf packages-trunk.r89102.tar.gz && cd /path/to/packages-trunk.r89102 && rm -f arch-udev-rules.patch && mv /path/to/packages-trunk.r89102/* /path/to/build
Replase PKGBUILD-original & take this:
# This is an example PKGBUILD file. Use this as a start to creating your own,
# and remove these comments. For more information, see 'man PKGBUILD'.
# NOTE: Please fill out the license field for your package! If it is unknown,
# then please put 'unknown'.
# See http://wiki.archlinux.org/index.php/VCS_PKGBUILD_Guidelines
# for more information on packaging from GIT sources.
# Contributor: Your Name <youremail@domain.com
pkgname=udev
pkgver=20100903
pkgrel=1
pkgdesc=""
arch=(i686 x86_64)
url="http://git.kernel.org/"
license=('GPL')
groups=('base')
depends=()
makedepends=('git' 'glibc' 'coreutils' 'util-linux' 'libusb' 'glib2' 'kernel26' 'gperf' 'libxslt' 'gobject-introspection' 'gtk-doc' )
provides=()
conflicts=()
replaces=()
backup=()
options=()
noextract=()
source=(80-drivers.rules
81-arch.rules
load-modules.sh
cdsymlinks.sh)
md5sums=('4427855146513a4703ab5c7eb8a0156e'
'f17c99779173ddc79f866cf3a5de5e68'
'f91fddc67609b45b244a624977c4247b'
'2e808ee78d237c478b57af2a68d43769')
_gitroot="git://git.kernel.org/pub/scm/linux/hotplug/udev.git"
_gitname="udev"
build() {
cd "$srcdir"
msg "Connecting to GIT server...."
if [ -d $_gitname ] ; then
cd $_gitname && git pull origin
msg "The local files are updated."
else
git clone $_gitroot $_gitname
fi
msg "GIT checkout done or server timeout"
msg "Starting make..."
rm -rf "$srcdir/$_gitname-build"
git clone "$srcdir/$_gitname" "$srcdir/$_gitname-build"
cd "$srcdir/$_gitname-build"
#
# BUILD HERE
#
./autogen.sh --without-selinux
./configure --prefix="" --mandir=/usr/share/man\
--includedir=/usr/include\
--libexecdir=/lib/udev\
--datarootdir=/usr/share
make
}
package_udev() {
pkgdesc="The userspace dev tools (udev)"
depends=('glibc' 'coreutils' 'util-linux' 'libusb' 'glib2'
'module-init-tools>=3.11')
install=udev.install
backup=(etc/udev/udev.conf
etc/modprobe.d/framebuffer_blacklist.conf)
conflicts=('pcmcia-cs' 'hotplug' 'initscripts<2009.07')
replaces=('devfsd')
cd "$srcdir/$_gitname-build"
make DESTDIR=${pkgdir} install
# Fix pkgconfig path
install -d -m755 $pkgdir/usr/lib
mv $pkgdir/lib/pkgconfig $pkgdir/usr/lib
# Fix ConsoleKit path
mv $pkgdir/lib/ConsoleKit $pkgdir/usr/lib
# Replace original 80-drivers.rules with custom one.
install -D -m644 $srcdir/80-drivers.rules $pkgdir/lib/udev/rules.d/80-drivers.rules
# Install our rule for permissions and symlinks
install -D -m644 $srcdir/81-arch.rules $pkgdir/lib/udev/rules.d/81-arch.rules
# install our module loading subsystem
install -D -m755 $srcdir/load-modules.sh $pkgdir/lib/udev/load-modules.sh
# install cdsymlinks.sh
install -D -m755 $srcdir/cdsymlinks.sh $pkgdir/lib/udev/cdsymlinks.sh
# disable error logging to prevent startup failures printed to vc on boot
sed -i -e 's|udev_log="err"|udev_log="0"|g' $pkgdir/etc/udev/udev.conf
# disable persistent cdromsymlinks and network by default
# and move it to /etc/udev/rules.d
mv $pkgdir/lib/udev/rules.d/75-persistent-net-generator.rules \
$pkgdir/etc/udev/rules.d/75-persistent-net-generator.rules.optional
mv $pkgdir/lib/udev/rules.d/75-cd-aliases-generator.rules \
$pkgdir/etc/udev/rules.d/75-cd-aliases-generator.rules.optional
# create framebuffer blacklist
mkdir -p $pkgdir/etc/modprobe.d/
for mod in $(find /lib/modules/*/kernel/drivers/video -name '*fb.ko' -exec basename {} .ko \;); do
echo "blacklist $mod" >> $pkgdir/etc/modprobe.d/framebuffer_blacklist.conf
done
# create static devices in /lib/udev/devices/
mkdir ${pkgdir}/lib/udev/devices/pts
mkdir ${pkgdir}/lib/udev/devices/shm
mknod -m 0600 ${pkgdir}/lib/udev/devices/console c 5 1
mknod -m 0666 ${pkgdir}/lib/udev/devices/null c 1 3
mknod -m 0660 ${pkgdir}/lib/udev/devices/zero c 1 5
mknod -m 0666 ${pkgdir}/lib/udev/devices/kmsg c 1 11
ln -snf /proc/self/fd ${pkgdir}/lib/udev/devices/fd
ln -snf /proc/self/fd/0 ${pkgdir}/lib/udev/devices/stdin
ln -snf /proc/self/fd/1 ${pkgdir}/lib/udev/devices/stdout
ln -snf /proc/self/fd/2 ${pkgdir}/lib/udev/devices/stderr
ln -snf /proc/kcore ${pkgdir}/lib/udev/devices/core
# these static devices are created for convenience, to autoload the modules if necessary
# /dev/loop0
mknod -m 0660 ${pkgdir}/lib/udev/devices/loop0 b 7 0
chgrp disk ${pkgdir}/lib/udev/devices/loop0
# /dev/net/tun
mkdir ${pkgdir}/lib/udev/devices/net
mknod -m 0666 ${pkgdir}/lib/udev/devices/net/tun c 10 200
# /dev/fuse
mknod -m 0666 ${pkgdir}/lib/udev/devices/fuse c 10 229
# /dev/ppp
mknod -m 0600 ${pkgdir}/lib/udev/devices/ppp c 108 0
# Replace dialout/tape/cdrom group in rules with uucp/storage/optical group
for i in $pkgdir/lib/udev/rules.d/*.rules; do
sed -i -e 's#GROUP="dialout"#GROUP="uucp"#g;
s#GROUP="tape"#GROUP="storage"#g;
s#GROUP="cdrom"#GROUP="optical"#g' $i
done
mv "${pkgdir}/lib/girepository-1.0" "${pkgdir}/usr/lib/"
}
$ makepkg
...
But at the end of assembly package makepkg hangs: solution > "Ctrl+D" (repeatedly)
Test please!
NB! "PKGBUILD.tar.bz2" irrelevant, sorry. Take only "PKGBUILD.tar.gz"
PKGBUILD.tar.gz (2.1 KiB)