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

Please post any bugs you have found
Message
Author
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

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

#21 Post by Karl Godt »

Second time : the

PMOUNT CODE ADJUSTMENTS ARE IN THE POST BELOW THE PROBEPART CODE

The tiny tiny headline is probably the cause for not reading carefully .

Anyway , the code works for me , BUT if i boot with udf dvd inserted , the DVD drive does not stop spinning , until i mount it .

Regards
:P

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

#22 Post by Karl Godt »

for i in `seq 1 1 $RANDOM`;do

echo "HIGHLY HIGHLY HIGHLY EXPERIMENTAL !!!!!"

done


ATTACHMENT : from my Macpup_Opera_2 full installation :

pmount,probepart,pup_event_frontend_d

drop into the appropriate dirs like /sbin,/usr/sbin

use find command to determine dir OR pfind

as usual : if your HW does not survive .... look for another !

I will attach the three files from other partitions the next days !

people mentioned in pup_event_frontend_d would roughly get the idea for the code

:wink:
Attachments
pup-udf-McpupO2-experimental.tar.gz
(21.23 KiB) Downloaded 375 times

User avatar
sc0ttman
Posts: 2812
Joined: Wed 16 Sep 2009, 05:44
Location: UK

#23 Post by sc0ttman »

I use the guess_fstype binary in my customised pmount script, so that UDF ISOs work fine :)
[b][url=https://bit.ly/2KjtxoD]Pkg[/url], [url=https://bit.ly/2U6dzxV]mdsh[/url], [url=https://bit.ly/2G49OE8]Woofy[/url], [url=http://goo.gl/bzBU1]Akita[/url], [url=http://goo.gl/SO5ug]VLC-GTK[/url], [url=https://tiny.cc/c2hnfz]Search[/url][/b]

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

#24 Post by Karl Godt »

Now i have got the cause for the ever running DVD drive :

In /sbin/pup_event_frontend_d there is a line

[ "$ICONDESK" = "false" ] && continue #v405 see /etc/eventmanager

SO IF ICONDESK=false it does not mean there are no drive icons on the desktop but one single icon labeled " drives " .

The code line
[ "$ICONDESK" = "false" ] && continue
would prevent the execution of some code below that line that would poll the ZIP and CD drives every 4 seconds .

The CD drives would be polled by the 'probe_optical_func' AND " if CD not mounted " every 4 seconds

cddetect_quick -d/dev/${DRV_NAME} >/dev/null 2>&1 #very fast.

would check for CDROM inserted .

That had been the ^ culprit ^ .

I have reworked /usr/sbin/eventmanager AND changed HOTPLUGON to DESKDAEMON and added ZCDPOLL variable .

But I feel it would be pre alpha to be released because it needs also /sbin/pup_event_frontend_d to be adjusted for that .

When i come to one point , i get the idea for the next point ...

I have actually put the AUTOUNMOUNT into the POWERTIMEOUT part to check for possibility to unmount every minute not every 4 seconds [ and much more ] .

HAVE FUN !

:lol: 8)

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

/usr/local/bin/drive_all udf recognition

#25 Post by Karl Godt »

Code: Select all

#oh, now have to analyse the media, decide what app to run...
#if [ "$ONEDRVNAME" = "sr0" -o "$ONEDRVNAME" = "sr1" ];then
if [ "`echo "$ONEDRVNAME" |grep '^sr[0-9]'`" ];then  ###+++2012-01-20
 srPATTERN='^/dev/'"$ONEDRVNAME"' '
 if [ "`busybox mount | grep "$srPATTERN"`" = "" ];then
  cddetect -q -d/dev/${ONEDRVNAME}
  RETVAL=$?
  case $RETVAL in
  3) #iso file: normal data cd. iso9660
   true
   ;;
  8) # udf with .wma wav files [VCD: , ] 8 ##+++2012-01-20
   FSTYPE='udf';;
  1) #audio
   ln -snf /dev/${ONEDRVNAME} /dev/cdrom
   exec defaultmediaplayer cdda://
   ;;
  5) #video dvd
   ln -snf /dev/${ONEDRVNAME} /dev/dvd
   exec defaultmediaplayer dvd://
   ;;
  0) #failed to detect type.
   #cddetect does not work properly for dvd's, try something else...
   if [ "`dvd+rw-mediainfo /dev/sr0 | grep 'Mounted Media: .* DVD-ROM'`" != "" ];then
    ln -snf /dev/${ONEDRVNAME} /dev/dvd
    exec defaultmediaplayer dvd://
   fi
   ;;
  esac
 fi
 [ ! "$FSTYPE" ] && FSTYPE="iso9660"
fi

User avatar
darkcity
Posts: 2534
Joined: Sun 23 May 2010, 19:16
Location: near here
Contact:

#26 Post by darkcity »

I can confirm this problem on Slacko531

This works

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

Pmount doesn't. Having tried modding any code yet.

8)

Post Reply