Puppy 528 can't read DVD data disk made by Windows

Please post any bugs you have found
Message
Author
Volhout
Posts: 547
Joined: Sun 28 Dec 2008, 08:41

Puppy 528 can't read DVD data disk made by Windows

#1 Post by Volhout »

Subject description: can't mount

--------------------------------------------------------------------------------
Yesterday night I had my first encounter of a challenge 528 can't solve.
My wife gave me a DVD+R with photo's from a happening at her local school, and she wanted a copy.

DVD in reader/burner, start Pburn, and Pburn gave me a strange reading. In the size/free bar it indicated 4.8Gbytes free + 2.2 Gbytes occupied (7 Gbyte total). And any action (copy or save to iso file on harddisk) did not work. Stopped Pburn.

Then I tried to mount the drive. Pmount responded with a red "cannot mount" popup.

I started to doubt the DVD (bad disk ?) and rebooted the PC in Windows XP (never even took the disk from the drive), and XP opended the disk, and said it was 4.8Gbytes total standard DVD+R and had 2.2Gbytes occupied. It was a data disk. It copied the 4 folders (with all the JPG pictures in it) fine.

I was stunned, this was the first time 528 could not help me. My experience up to now was that it did anything. Whatever task you throw at it, it simply has a way to solve the problem. (Last challenge was recording protected audio from internet, via audio out - audio in analog cable ... it has tools for everything).

I am not sure if anyone has a clue what this problem is ? Maybe it is a disk format that 528 does not support. If I can help to improve Puppy by debugging, tell me what I can do. I am curious what causes this.
Noticed on Lucid 528-2 with all instant updates up to rerwin patch 6.
Will test today on fresh iso 528-4.


Volhout


This bug has been confirmed by others (see puppy:projects:lucid528 thread), also happens at DVD-RW and DVD-R data disks.

User avatar
8-bit
Posts: 3406
Joined: Wed 04 Apr 2007, 03:37
Location: Oregon

#2 Post by 8-bit »

This is a problem due to the format being used when the DVD was made.
I have had the very same problem with picture DVDs made in Windows that were not readable by Puppy and PBurn also failed.
But if I remember correctly, an update to PBurn has been recently made that might fill the bill. No promises though. One would just have to try it and see.
I would like to see Puppy capable of reading those windows formats that it currently cannot read though.

I have also found that even with Windows, if the version of it is too early an install demo disk of Windows 8 would give me a text message stating I was not using a late enough version of Windows to be able to read the true contents of the DVD.

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#3 Post by Karl Godt »

what does

Code: Select all

modprobe -l | grep -i udf
gives you ?

if the dvd was formatted udf filesystem , this kernel driver would need to be loaded i guess :

Code: Select all

modprobe -v udf
to see if udf is supported by the kernel :

Code: Select all

cat /proc/filesystems | grep udf
to check the disk :

Code: Select all

disktype /dev/sr0
to mount manually :

Code: Select all

mount -t udf /dev/sr0 /mnt/sr0
/usr/sbin/pmount is NOT written to check for udf on dvd/cd i think , also /sbin/probepart ; pmount assumes therefore iso9660 only .

This is the output of

Code: Select all

 dmesg
for one not mountable udf disk :

mount -t udf /dev/sr0 /mnt/sr0

[ 9907.256869] sr 1:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08
[ 9907.256875] sr 1:0:0:0: [sr0] Sense Key : 0x5 [current]
[ 9907.256879] Info fld=0x441, ILI
[ 9907.256882] sr 1:0:0:0: [sr0] ASC=0x64 ASCQ=0x0
[ 9907.256885] end_request: I/O error, dev sr0, sector 4356
[ 9907.256983] udf: udf_read_inode(ino 1089) failed !bh
[ 9907.476547] sr 1:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08
[ 9907.476552] sr 1:0:0:0: [sr0] Sense Key : 0x5 [current]
[ 9907.476557] Info fld=0x441, ILI
[ 9907.476559] sr 1:0:0:0: [sr0] ASC=0x64 ASCQ=0x0
[ 9907.476563] end_request: I/O error, dev sr0, sector 4356
[ 9907.476660] udf: udf_read_inode(ino 1089) failed !bh
[ 9907.638622] sr 1:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08
[ 9907.638628] sr 1:0:0:0: [sr0] Sense Key : 0x5 [current]
[ 9907.638634] Info fld=0x441, ILI
[ 9907.638636] sr 1:0:0:0: [sr0] ASC=0x64 ASCQ=0x0
[ 9907.638641] end_request: I/O error, dev sr0, sector 4356
[ 9907.856321] sr 1:0:0:0: [sr0] Result: hostbyte=0x00 driverbyte=0x08
[ 9907.856328] sr 1:0:0:0: [sr0] Sense Key : 0x5 [current]
[ 9907.856333] Info fld=0x440, ILI
[ 9907.856336] sr 1:0:0:0: [sr0] ASC=0x64 ASCQ=0x0
[ 9907.856340] end_request: I/O error, dev sr0, sector 4352
[ 9908.556370] UDF-fs: No anchor found
[ 9908.556375] UDF-fs: No partition found (1)

while

bash-3.2# disktype /dev/sr0

--- /dev/sr0
Block device, size 2.129 MiB (2232320 bytes)
CD-ROM, 1 track, CDDB disk ID 02000E01
Track 1: Data track, 2.129 MiB (2232320 bytes)
UDF file system
Sector size 2048 bytes
Volume name "UDF Volume"
UDF version 2.01

bash-3.2#

says everything apparently ok

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#4 Post by Karl Godt »

and this is the output for a working udf formatted DVD :

bash-3.2# disktype /dev/sr0

--- /dev/sr0
Block device, size 52.56 MiB (55115776 bytes)
CD-ROM, 1 track, CDDB disk ID 02016601
Track 1: Data track, 52.56 MiB (55115776 bytes)
UDF file system
Sector size 2048 bytes
Volume name "RedIceSilverBlueBlack"
UDF version 1.02

bash-3.2# mount -t udf /dev/sr0 /mnt/sr0

bash-3.2# dmesg | tail

[10438.405675] ISOFS: Unable to identify CD-ROM format.
[10494.839084] UDF-fs: Partition marked readonly; forcing readonly mount
[10494.865040] UDF-fs INFO UDF: Mounting volume 'RedIceSilverBlueBlack', timestamp 2010/02/13 14:05 (1fc4)

This a backup of a Music CD .

My DVD-player is only a reader , so the dvd got mounted read only :

mount: block device /dev/sr0 is write-protected, mounting read-only

Volhout
Posts: 547
Joined: Sun 28 Dec 2008, 08:41

UDF format

#5 Post by Volhout »

Hi Karl,

tested on 528-004 new iso install.

The modprobe shows UDF is supported in the kernel.
My problems disk is in UDF 1.02 format. And it is not recognized by Pmount.

Manual mounting with

Code: Select all

mount -t udf /dev/sr0 /mnt/sr0 
works, and I can access the disk. Also Pburn sees correct size now. Did not try actual copy process yet, but I am confident it will work.

How can we get this fixed in Pmount ?? Do you know the author ?

Regards,

Volhout

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

guess fstype udf

#6 Post by Karl Godt »

# mkdir /mnt/sr0
# mount -t udf /dev/sr0 /mnt/sr0
mount: block device /dev/sr0 is write-protected, mounting read-only
# lsmod |grep udf
udf 60680 1
crc_itu_t 1003 1 udf
# guess_fstype
Usage: guess_fstype device
# guess_fstype /dev/sr0
udf


it seems that mount is capable to load drivers automatically .

/sbin/guess_fstype is capable of guessing udf right and iso9660 , so could be implemented into
/sbin/probepart

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

/sbin/probepart experimental udf support

#7 Post by Karl Godt »

Code: Select all

case $DEVICE in
   hd*)
    #[ "`cat /proc/ide/$DEVICE/media`" = "cdrom" ] && FSTYPE="iso9660"
    if [ "`cat /proc/ide/$DEVICE/media`" = "cdrom" ];then
    FSTYPE=`guess_fstype $ONEDEV`;[ "$FSTYPE" = 'garage' ] && FSTYPE="iso9660";fi
   ;;
   scd*|sr*) #usb,sata,scsi cd/dvd drive.
    #FSTYPE="iso9660"
    FSTYPE=`guess_fstype $ONEDEV`;[ "$FSTYPE" = 'garage' ] && FSTYPE="iso9660"
   ;;
  esac

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

/usr/sbin/pmount experimental udf support

#8 Post by Karl Godt »

Code: Select all

#v408 v410 moved up...
#VALIDPARTS="`echo "$PARTSINFO" | grep -E 'vfat|msdos|ntfs|minix|ext2|ext3|ext4|reiser|xfs|iso9660'`"
VALIDPARTS="`echo "$PARTSINFO" | grep -E 'vfat|msdos|ntfs|minix|ext2|ext3|ext4|reiser|xfs|iso9660|udf'`"

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#9 Post by Karl Godt »

Now tested the both codes several times and boots and Puppy versions , and must say it works - even if the udf.ko module not loaded and udf not mentioned in /proc/filesystems .

mount-FULL does load the udf.ko module automatically .

The only thing is to recognize the filesystem type on CD/DVD ,
guess_fstype spins up the DVD drive every time /sbin/probepart runs .

If the DVD drive is old,slow,clumpy the one or other would think it would be annoying . :wink:

backi
Posts: 1922
Joined: Sun 27 Feb 2011, 22:00
Location: GERMANY

#10 Post by backi »

High buddies !

Was confronted with the same problem ........
posted it a while ago .
I am Linux newby ....... is there a solution in sight ?

User avatar
8-bit
Posts: 3406
Joined: Wed 04 Apr 2007, 03:37
Location: Oregon

#11 Post by 8-bit »

I would like to see UDF support by default instead of having to do the mount from a command line.
What files in Puppy would have to be modified to be able to read UDF format disks without loosing ISO9660 format support.
My shallow mind would never remember the commands to check disk type and the one to mount the UDF formatted disk.

I am wondering why that was left out of Puppy versions to begin with.
My test DVD was a backup of backup files for a business I did the bookwork on. It was not complete as it had got misplaced and I had to make another from the backup information I had on the hard drive.
And since I did monthly backups spanning 9 years, that was a lot of backups.

I have always considered Puppy to be more secure than Windows and that helps.

I have not tried the bookkeeping program, Simply Accounting, with wine and so am unsure if it would work there.

The business no longer exists. And so this would just be a test for using it for a personal bookkeeping system for tracking expenses for tax purposes.

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#12 Post by musher0 »

Hi, 8-bit.

Didn't quite understand the last part of your message. You backed up your accounting work on udf formatted DVDs ? Is that it?

TWYL.
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

User avatar
8-bit
Posts: 3406
Joined: Wed 04 Apr 2007, 03:37
Location: Oregon

#13 Post by 8-bit »

Short answer is yes. It seemed to be the default of Nero that I used to make the backup DVD in Windows XP and then Vista.
The accounting program itself would save backups to hard drive or one floppy disk for each month.

I also tried Karl's method of reading the DVD and it worked in Puppy.
Before that, I would have had to fire up Windows to be able to read it.

User avatar
playdayz
Posts: 3799
Joined: Fri 25 Apr 2008, 18:57

#14 Post by playdayz »

Karl Godt, Am I correct that this is replacement code for /sbin/probepart? Is there anything else I should know about using it? Thanks for the quick solution. I will pass it on to 01micko.

Code: Select all

case $DEVICE in 
   hd*) 
    #[ "`cat /proc/ide/$DEVICE/media`" = "cdrom" ] && FSTYPE="iso9660" 
    if [ "`cat /proc/ide/$DEVICE/media`" = "cdrom" ];then 
    FSTYPE=`guess_fstype $ONEDEV`;[ "$FSTYPE" = 'garage' ] && FSTYPE="iso9660";fi 
   ;; 
   scd*|sr*) #usb,sata,scsi cd/dvd drive. 
    #FSTYPE="iso9660" 
    FSTYPE=`guess_fstype $ONEDEV`;[ "$FSTYPE" = 'garage' ] && FSTYPE="iso9660" 
   ;; 
  esac

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#15 Post by Karl Godt »

Yes !

One thing i encounter is that on Puppy4 the guess_fstype spins up the DVD reader of mine

and the reader IF includes a DVD
does not stop spinning , until i open the tray .

So booting to desktop /sbin/pup_event_frontend_d checks for partitions and filesystems using /sbin/probepart .....

If DVD in tray , it does not stop spinning .

ALSO if checked "LAUNCH HANDLER" in the eventmanager GUI ....

On the partition i am on now i pressed the outside-button to eject the DVD and reinserted it and now it is calm .

I think this is the real cause for defaulting to one fs in the original code . I compiled ufs-utils and the source stopped to develop in 2002 it seems .

And the garage you might fill with tom,jerry or others not yet invented filesystems .

User avatar
8-bit
Posts: 3406
Joined: Wed 04 Apr 2007, 03:37
Location: Oregon

#16 Post by 8-bit »

Karl.
I tried inserting your code segment into /sbin/probepart and I did the first part.
I think I blew it because I did not delete any existing code and commented out some with semicolons.
Would it be possible for you to attach the modified /sbin/probepart file zipped up to a post here?

Just call me dumb. But I want to get it right and after having pmount fail to start and otherwise being unable to mount anything, I just want to get it right.

I did have the foresight to make a backup of my pupsave file before I tried it.

Also, I did nothing with your second code snipit. you show.

So again, if you could perchance attach that zipped file to a post, I would be most pleased and have enough CDs and DVDs of various formats to give that a good test.

Also, to answer the previous question on the udf format disk, I was wrong about using Nero.
It is actually a feature in Windows that allows one to use a DVD or CD as a hard drive with read/write/delete capabilities just like a hard drive.
It allows adding individual files to a CD or DVD.
And in that way, you could say it acts like a disk made "open session" in Puppy.
So in fact, I was reading the contents of a udf format disk that was open session in windows.

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#17 Post by Karl Godt »

For PMOUNT code see the post below the probepart code post .

*

AND i have to say that the filtering line

#v408 v410 moved up...
VALIDPARTS="`echo "$PARTSINFO" | grep -i -E 'FAT|vfat|msdos|ntfs|minix|ext2|ext3|ext4|reiser|xfs|iso9660|udf'`"

also occurs in /sbin/pup_event_frontend_d

PROBEPART="`probepart -k | grep -i -E '\|FAT.*|\|ext4|\|ntfs|\|msdos|\|vfat|\|ext2|\|ext3|\|iso9660|\|xfs|\|reiser|\|udf'`"

and probably several times . I have put that into a function on the installation i am on now :

probepart_func() {
PROBEPART="`probepart -k | grep -i -E '\|FAT.*|\|ext4|\|ntfs|\|msdos|\|vfat|\|ext2|\|ext3|\|iso9660|\|xfs|\|reiser|\|udf'`"
}


I am working on getting Xorg-server-1.3.0 to work with Puppy 4 on my current machine so my focus is there for the moment . :oops:

[edit fixed srew from " \|udf| " to " |\|udf " in pup_event_frontend_d AND probepart code .. "|" at the very end of the line would not filter anything but grep everything .. /edit] :oops: :oops:

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

/sbin/pup_event_fromtend_d udf adjustment

#18 Post by Karl Godt »

As far as i can see it /sbin/pup_event_fromtend_d

has got three lines to append udf file system format recognition :

Code: Select all

#display an icon for each partition... w476 add ext4...
 #[ ! $1 ] && PROBEPART="`probepart -k | grep -E '\|ext4\||\|ntfs\||\|msdos\||\|vfat\||\|ext2\||\|ext3\||\|iso9660\||\|xfs\||\|reiser'`"
 [ ! $1 ] && PROBEPART="`probepart -k | grep -E '\|ext4\||\|ntfs\||\|msdos\||\|vfat\||\|ext2\||\|ext3\||\|iso9660\||\|xfs\||\|reiser|\|udf'`"  

Code: Select all

#PROBEPART="`probepart -k | grep -E '\|ext4\||\|ntfs\||\|msdos\||\|vfat\||\|ext2\||\|ext3\||\|iso9660\||\|xfs\||\|reiser'`"
PROBEPART="`probepart -k | grep -E '\|ext4\||\|ntfs\||\|msdos\||\|vfat\||\|ext2\||\|ext3\||\|iso9660\||\|xfs\||\|reiser|\|udf'`"
 DRVINFO="`echo "$PROBEPART" | grep "$drvPATTERN" | cut -f 1,2,3 -d '|' | tr '\n' ' '`"

Code: Select all

#show all drives on desktop... w476 add ext4...
 #PROBEPART="`probepart -k | grep -E '\|ext4\||\|ntfs\||\|msdos\||\|vfat\||\|ext2\||\|ext3\||\|iso9660\||\|xfs\||\|reiser'`"
 PROBEPART="`probepart -k | grep -E '\|ext4\||\|ntfs\||\|msdos\||\|vfat\||\|ext2\||\|ext3\||\|iso9660\||\|xfs\||\|reiser|\|udf'`"
[ the video probs i have with Puppy 4 seems to be related to installing later /sbin/modprobe -V3.11.1 , which does not applies blacklist MODULE from modprobe.conf by default . modprobe -V3.6 seems to be patched to do this ... Had to insert" alias modprobe='modprobe -b' " everywhere (rc.sysinit,pup_event_backend_modprobe,xwin,xorgwizard ..) :lol: ]

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#19 Post by Karl Godt »

Now i have a kernel running compiled with

DEBUG_BLOCK_EXT_DEVT

in kernel hacking section

which makes cat /proc/partitions look like

major minor #blocks name

259 0 156250000 sda
259 524288 7189056 sda1
259 262144 15358140 sda2
259 786432 15358140 sda3
259 131072 1 sda4
259 655360 1028128 sda5
259 393216 15358108 sda6
259 917504 15358108 sda7
259 65536 15358108 sda8
259 589824 15358108 sda9
259 327680 15358108 sda10
259 851968 40523931 sda11
259 196608 1955840 sdb
259 720896 1955406 sdb1

*

Therefore i had disktype command inserted into /sbin/probepart

AND for the udf issue the code looks like this :

Code: Select all

case $DEVICE in
   hd*)
    FSTYPE='unknown'  ##+++2011_10_28
    #[ "`cat /proc/ide/$DEVICE/media`" = "cdrom" ] && FSTYPE="iso9660"
    if [ "`cat /proc/ide/$DEVICE/media`" = "cdrom" ];then
    FSTYPE=`guess_fstype ONEDEV`;
    [ ! "$FSTYPE" -o "$FSTYPE" = 'unknown' ] && FSTYPE="`disktype $ONEDEV | grep -i 'file system'|awk '{print $1}'|tr '[A-Z]' '[a-z]'`";
    [ ! "$FSTYPE" ] && FSTYPE="iso9660"
    fi
   ;;
   scd*|sr*) #usb,sata,scsi cd/dvd drive.
    #FSTYPE="iso9660"
   FSTYPE=`guess_fstype ONEDEV`;
   [ ! "$FSTYPE" -o "$FSTYPE" = 'unknown' ] && FSTYPE="`disktype $ONEDEV | grep -i 'file system'|awk '{print $1}'|tr '[A-Z]' '[a-z]'`";
   [ ! "$FSTYPE" ] && FSTYPE="iso9660"
   ;;
  esac
disktype command looks like it does not spin the DVD drive forever like guess_fstype does .

User avatar
playdayz
Posts: 3799
Joined: Fri 25 Apr 2008, 18:57

#20 Post by playdayz »

Simply substituting this code into /sbin/probepart in place of the corresponding code does not solve the problem for me. With this substitute code I do not get an icon for the sr0, if I boot with the dvd in the drive or if I insert the dvd after booting. Additionally, if I run pmount the usb drives are listed as optical drives.

Code: Select all

case $DEVICE in 
   hd*) 
    #[ "`cat /proc/ide/$DEVICE/media`" = "cdrom" ] && FSTYPE="iso9660" 
    if [ "`cat /proc/ide/$DEVICE/media`" = "cdrom" ];then 
    FSTYPE=`guess_fstype $ONEDEV`;[ "$FSTYPE" = 'garage' ] && FSTYPE="iso9660";fi 
   ;; 
   scd*|sr*) #usb,sata,scsi cd/dvd drive. 
    #FSTYPE="iso9660" 
    FSTYPE=`guess_fstype $ONEDEV`;[ "$FSTYPE" = 'garage' ] && FSTYPE="iso9660" 
   ;; 
  esac
I can still mount manually with

Code: Select all

mount /dev/sr0 /mnt/dvd

Post Reply