Tecra/Protege stops booting at Xvesa and Xorg (SOLVED)

Please post any bugs you have found
Post Reply
Message
Author
User avatar
rerwin
Posts: 2017
Joined: Wed 24 Aug 2005, 22:50
Location: Maine, USA

Tecra/Protege stops booting at Xvesa and Xorg (SOLVED)

#1 Post by rerwin »

In using Puppy on a cast-off Toshiba Tecra 8000 laptop, I ran into the problem mentioned in the Beginners forum at http://www.murga-linux.com/puppy/viewto ... 1576#80467, where booting hangs after selecting Xorg and letting it probe. I found several workarounds that simply replace the xorg.conf file with one that works. But that is too user-unfriendly for Puppy (IMHO).

I have created a modified version of the 3.01 (/usr/sbin) xorgwizard that prevents the hang by avoiding the invocation of the "Xvesa -listmodes" command, which is what hangs (but could be broken out of by ctrl-c). It checks ddcprobe.txt for the problematic NeoMagic MagicGraph video adapter name and supplies the needed list. In addition, it augments the ddcprobe listing to include "timing:" info for 1024x768 and 800x600 resolutions that are missing (but are appropriate).

The adapter is labeled "'oem: MagicGraph 256 AV 44K PRELIMINARY'" in ddcprobe.txt. Fortunately, I have an old ThinkPad that uses a similar adapter (but not "preliminary"), so I used part of the "listmodes" output from it. (It shows no "timing:" lines, but that is another issue.) Here is the added logic (starting with line 477), that puts the Xvesa call into an "else" clause:

Code: Select all

if [ -f /usr/X11R7/bin/Xvesa ];then #format of each line: 1024x768x16
 #For some Tecra (8000) and Portege laptops, avoid Xvesa hang by substituting an Xmodes list known to work; also enable 800x600 and 1024x768 by adding "timing: .. (VESA)" lines for them in the ddcprobe listing.   #rerwin
 if grep -q 'oem: MagicGraph 256 AV 44K PRELIMINARY' /tmp/ddcprobe.txt;then
  echo -e "640x480x16\n640x480x24\n800x600x16\n800x600x24\n1024x768x16\n1024x768x24" > /tmp/Xmodes.txt
  echo -e "timing: 800x600@85 Hz (VESA)\ntiming: 800x600@60 Hz (VESA)" >> /tmp/ddcprobe.txt  #Append 800x600 resolution
  grep -q 'timing: 1024' /tmp/ddcprobe.txt && echo -e "timing: 1024x768@85 Hz (VESA)\ntiming: 1024x768@60 Hz (VESA)" >> /tmp/ddcprobe.txt  #Append 1024x768 resolution
 else  #End of special treatment of Tecra 8000s.   #rerwin
  Xvesa -listmodes 2>&1 | cut -f 2 -d ' ' | grep --extended-regexp 'x16$|x24$' | sort --field-separator=x --numeric-sort > /tmp/Xmodes.txt
 fi   #rerwin
else
I am attaching the entire script for anyone wanting to try it. The technique might be useful for xorg hangs with other video adapters.

It does bother me to code for specific hardware in a general script, but I do not yet have the skills to "do it right". By that I mean that the text lines should be defined in a data file(s) that is read by the script, so that other special cases might be added (such as my ThinkPad that reports no timings at all). My concept is of a "ddcprobe-fixes" file and a "Xvesa-fixes" file, each containing lines with two quoted fields consisting of the identifying string and the appropriate additions to ddcprobe.txt or Xmodes.txt. The files could be accessed by the same internal function (applyfixesfunc?) with parameters.

This does not address the hanging if the Xvesa option is chosen instead of Xorg, but it is a start.

Richard

EDIT: I also modified line 750 (previously 743) to sort the "finalchoices" lines into ascending numerical resolution order:

Code: Select all

FINALCHOICES="`cat /tmp/finalchoices.txt | sort --field-separator=x --numeric-sort`"   #rerwin
EDIT (10/25/07): I have updated the attachment and the new-code section above, to add detection of 800x600 resolution versus 1024x768 and simplify a bit.

EDIT: (11/17/07): Please use the latest version of the fix, which is on page 3 here: http://www.murga-linux.com/puppy/viewto ... 110#154110

EDIT (11/19/07): Removed download of first version.
Last edited by rerwin on Mon 19 Nov 2007, 18:02, edited 7 times in total.

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#2 Post by zigbert »

Thanks.

I have a trouble-tecra. Maybe it's time to convert it to a Puppy. It would absolutely be a speedup compared to TinyMe which doesn't impress.

Sigmund

cherriepuppy
Posts: 74
Joined: Sun 11 Dec 2005, 20:27
Location: uk

#3 Post by cherriepuppy »

hi

works on toshiba portege 7010ct except it says that 1024x768 resolution is available but the screen only goes up to 800x600.

good work

cherriepuppy

User avatar
rerwin
Posts: 2017
Joined: Wed 24 Aug 2005, 22:50
Location: Maine, USA

Improving the fix

#4 Post by rerwin »

Thanks, both, for your good feedback. I think I should try to address the different resolutions. It may be possible, but I need your help, cherriepuppy.

If you would enter "ddcprobe" in a terminal on your portege and tell me what the output lines beginning with "timing:" are, we may see the way to a solution. Mine shows lines for 720x400, 640x480, and 1024x768. I am hoping that yours will not show the 1024x768 line and may have an 800x600 line instead.

I am pleased that my work has prompted you, zigbert, to give your tecra a try. I hope more people will use my fix and will tell me of any problems. I would especially like to know if the troublesome adapter is used with resolutions other than 800x600 and 1024x768.

Richard

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#5 Post by zigbert »

Tecra 8000 got new life with Puppy speed.

Thanks a lot

:D :D :D

Sigmund

cherriepuppy
Posts: 74
Joined: Sun 11 Dec 2005, 20:27
Location: uk

#6 Post by cherriepuppy »

hi rerwin

ddcprobe shows following

# ddcprobe
vbe: VESA 2.0 detected.
oem: MagicGraph 256 AV 44K PRELIMINARY
memory: 2496kb
mode: 640x400x256
mode: 640x480x256
mode: 800x600x16
mode: 800x600x256
mode: 1024x768x16
mode: 1024x768x256
mode: 1280x1024x256
mode: 80x60 (text)
mode: 320x200x32k
mode: 320x200x64k
mode: 640x480x32k
mode: 640x480x64k
mode: 640x480x16m
mode: 800x600x32k
mode: 800x600x64k
mode: 800x600x16m
mode: 1024x768x32k
mode: 1024x768x64k
mode: 1024x768x16m
mode: 1600x1200x256
mode: 1600x1200x32k
mode: 1600x1200x64k
Calling INT 0x15 (F000:F859)
EAX is 0x5F49
Calling INT 0x15 (F000:F859)
EAX is 0x5F49
edid:
edid: 1 0
id: 5081
eisa: TOS5081
serial: 00000000
manufacture: 20 1995
input: analog signal.
screensize: 23 17
gamma: 1.000000
dpms: RGB, no active off, no suspend, no standby
timing: 720x400@70 Hz (VGA 640x400, IBM)
timing: 640x480@75 Hz (VESA)
#

let me know if you need anything more

cherriepuppy

User avatar
rerwin
Posts: 2017
Joined: Wed 24 Aug 2005, 22:50
Location: Maine, USA

Upload changed to support both 800X600 & 1024x768

#7 Post by rerwin »

Thanks, cherriepuppy; you provided just what I was looking for. Your Portege does not yield the "timing: 1024x768. . ." line that my Tecra does.

So I changed my logic to look for the "1024" line before appending new "1024" lines. They are needed because the wizard filters out the line that ddcpeobe produces. The original download posting should now have the new version.

Thanks for your help in perfecting this fix. Now, if I could only figure out how to fix this for the XVESA option; I am not optimistic.

Richard

dalderton
Posts: 177
Joined: Sun 22 Apr 2007, 08:33

#8 Post by dalderton »

As a matter of interest this did not work with a Toshiba TE 2000, it still hung at the hardware probe after selecting Xorg.I remastered the 3.0.1 cd with the rehashed xorgwizard ( this was the only way I could figure to do it?)and tried it on the laptop with the same result as before i.e. after selecting Xorg the pink hardware probe line flashes on the screen then a second or two later comes on and that is the end of the deal. I loaded the modified cd on my computer and it behaved normally other than having to be prompted with xorgwizard-tecra as I did not change the name before I burned the cd. Also the screen that shows with the resolution included the lower resolutions not shown on my computer normally.
I dont know if this info is of any use to you or if there is any way to modify what you have done so it works on the TE2000. I only know enough about this stuff to know how much I dont know.!!!
Regards Dennis

User avatar
rerwin
Posts: 2017
Joined: Wed 24 Aug 2005, 22:50
Location: Maine, USA

Adapting the fix for a TE 2000

#9 Post by rerwin »

Thanks for your post, dalderton. Your info is very useful to me and may lead to expanding my fix to support more laptops, since the symptom appears to be the same as I saw.

But first, be sure you are doing all that is necessary. When you boot from your remastered CD and it hangs at the pink "probing" line, press ctrl-c and see the command prompt. At that point enter "xorgwizard-tecra" and see if that works. If so, that just means that you needed to rename the -tecra version to xorgwizard in /usr/sbin, renaming the old one first or replacing it.

If neither works, then maybe we are dealing with a different problematic adapter. The starting point is to look at the output of the ddcprobe command, which identifies the built-in video adapter and some of the resolutions it supports. (See cherriepuppy's above, for what I am looking for.) You can see this if you boot with your CD, press ctrl-c at the pink-probing hang, then at the prompt simply enter "ddcprobe" (w/o quotes).

I need you to tell me the contents of the lines starting with "oem:" and "timing:". Meanwhile, I will research that model online so I know what we should shoot for.

EDIT: I see that the TE2000 has a Trident XP4 graphics processor, which is different than that in the 8000. That explains why the fix doesn't work for you. So let's try adding a fix for it. After you get the ddcprobe info above, try something that should result in the hang again; at the command prompt enter "Xvesa -listmodes", noting the upper-case X. If that hangs, press ctrl-c to break out of it. That would confirm that we are dealing with the same problem. Thanks for your help.

Richard

dalderton
Posts: 177
Joined: Sun 22 Apr 2007, 08:33

#10 Post by dalderton »

Richard
Thanks for that.I will do as you say later this evening and post a reply as soon as I can.If this was a mechanical thing I would say that the point that the hardware probe line comes is the stopper or a metaphorical spanner in the works .Will reply soon. Thanks again Regards Dennis
Incidentally I did play with the file name and entered it as -tecra and changed it to xorgwizard and it made no difference. Dennis
ddcprobe
mode:132*43 (text)
mode:132*60 (text)
mode: 80*60 (text)
edid:
edid: 1 3
id 5082
eisa: TOS 5082
serial:00000000
manufacture: 1990
input: analog signal
screensize: 29 22
gamma: 1.000000
dpms: RGB, no active off, suspend, standby
timing: 720*400@70Hz (VGA 640*400, IBM)
timing: 640*480@70Hz (VESA)
timing: 800*600@72Hz (VESA)
timing:1024*768@87Hz Interlaced (8514a)
ctiming: 1280*1024@60
ctiming: 1600*1200@60
dtiming: 1024*768@74
monitorname: TOSHIBA Inte
monitorname: rnal panel
monitorname:

oem:Trident CYBER 8820
vbe: VESA 2.0
I had to transcribe this from a ubuntu live cd and it is not exactly as it comes on the screen but I hope it has all the info you need .I think the only stuff missing is some of the modes. See how you go.I live in hope Regards Dennis

User avatar
rerwin
Posts: 2017
Joined: Wed 24 Aug 2005, 22:50
Location: Maine, USA

Test version

#11 Post by rerwin »

Dennis,

Thanks for the ddcprobe results. They give me enough to update the script to work for your laptop. But maybe we should try another test first.

If you can somehow edit the xorgwizard-tecra file, change the text that identifies the adapter we are looking for. At worst, you could use the e3 editor after ctrl-c-ing out of the hang (or by booting with pfix=nox).

The line to change is #479 (in geany), which is:
if grep -q 'oem: MagicGraph 256 AV 44K PRELIMINARY' /tmp/ddcprobe.txt;then

Remove the " MagicGraph...PRELIMINARY" part, leaving:
if grep -q 'oem:' /tmp/ddcprobe.txt;then

Beware that it will then "do its thing" for any display; so use it only on the problematic laptop. I am eager to hear how it works.

Richard

dalderton
Posts: 177
Joined: Sun 22 Apr 2007, 08:33

#12 Post by dalderton »

I did another live CD remaster with the mods to your /usr/sbin/xorgwizard file and tried it and when it got to the contentious part it did not go to the xorgwizard gui and put up the usual lines when x does not start concluding with type xorgwizard This resulted in -sh: /usr/sbin/xorgwizard: permission denied. I then tried alt f2, login as root password: woofwoof and xorgwizard and got the permission denied line again. I hope this all means something to you and apologize for useing what is probably your valuable time.I am retired so it does not matter to me.If I need to alter permissions spell it out for me,it is something that I have never got on top of.(one of the many reasons I like Puppy is that it is not normally involved)I put it down to declining number of brain cell in my declining years Regards Dennis
EDIT I just tried the disc in my normal computer and it did exactly the same as described above.hope this helps. Dennis

User avatar
rerwin
Posts: 2017
Joined: Wed 24 Aug 2005, 22:50
Location: Maine, USA

Fix the permissions

#13 Post by rerwin »

I think I ran into that, too. Simple to solve.

Boot your CD and at the prompt you mentioned, enter the command:
chmod a+x /usr/sbin/xorgwizard

That sets "execute" permission, which is what you want to do (execute the script). Then enter "xorgwizard" (assuming that is the renamed oem:-modified version of xorgwizard-tecra-trident).

dalderton
Posts: 177
Joined: Sun 22 Apr 2007, 08:33

#14 Post by dalderton »

Richard Bingo!!!! IT works and I have installed it on the hard disk.It loads OK but does not go to the xorgwizard the first time it boots and I went through the chmod and the xorgwizard did its stuff then xwin and whoopee. Second time I booted it,it was seamless and all is now well.I have not booted windows yet but i dont care.It will be interesting to see if Puppy recognizes the internal modem.I will post again when I work that out. Thank you very much for you efforts and patience,it is much appreciated. Regards Dennis Alderton (Mandurama,Central West .NSW,Australia

User avatar
rerwin
Posts: 2017
Joined: Wed 24 Aug 2005, 22:50
Location: Maine, USA

Open-ended version of the fix

#15 Post by rerwin »

That's good news, Dennis. In anticipation of your success, I updated my script mods to use a file containing the identification of video adapters that hang up Xvesa. I am attaching it.

When you find the time, could you verify that it works on your laptop? The included readme.txt file tells where the name file goes. I will be away for a week (but checking the forum occasionally), so take your time. Thanks, again, for your help in making this ready to submit to Barry.
Richard

EDIT: (11/17/07): Please use the latest version of the fix, which is on page 3 here: http://www.murga-linux.com/puppy/viewto ... 110#154110
Last edited by rerwin on Sat 17 Nov 2007, 15:38, edited 1 time in total.

User avatar
Dougal
Posts: 2502
Joined: Wed 19 Oct 2005, 13:06
Location: Hell more grotesque than any medieval woodcut

#16 Post by Dougal »

Rerwin, it's great that you're paying attention to this problem... I occationally entertain the idea of just removing the "Xvesa -listmodes" part from the xorgwizard, to solve this once and for all -- but in many cases you get more modes from it than from ddcprobe...

I didn't know it was just that one MagicGraph that causes the problem -- this way it's quite easy to make the workaround
Yes, it's not nice to make HW-specific code, but you can't help it, as there's all this defective HW! In some cases -- the modified pcmcia cards in Acer laptops and the fix Pakt posted is a good example -- you can solve it nicely, but in others...

Anyway, here's an improvement to your code:
(my version of the wizard is somewhat different to Barry's, so I'm just posting the relevant block.)

From the results of my HW-Test dotpup that people sent me, I noticed that there were some cases where ddcprobe gave more modes than Xvesa, so I figured: why no use both?
So what I do is use both ddcprobe and Xvesa -listmodes, and if the dubious HW is detected, just skip Xvesa...

Code: Select all

if [ -f /usr/X11R7/bin/Xvesa ];then #format of each line: 1024x768x16
 # Dougal: use both Xvesa and ddcprobe output to find modes
 ## Dougal: skip Xvesa for dubious Toshiba HW
 if ! grep -Fq 'oem: MagicGraph 256 AV 44K PRELIMINARY' /tmp/ddcprobe.txt;then
  Xvesa -listmodes 2>&1 | cut -f2 -d' ' | grep -E 'x16$|x24$' > /tmp/Xmodes.tmp
 fi
 grep '^mode:' /tmp/ddcprobe.txt | grep -E 'x64k|x16m'| cut -f2 -d' ' | sed -e 's/x64k/x16/g ; s/x16m/x24/g' >> /tmp/Xmodes.tmp
 sort --field-separator=x --numeric-sort /tmp/Xmodes.tmp | uniq >/tmp/Xmodes.txt
 rm -f /tmp/Xmodes.tmp
else
Sidenote: Xvesa is now bundled along with the Xorg source, so maybe this can actually be reported to Xorg as a bug and they'll fix it?
What's the ugliest part of your body?
Some say your nose
Some say your toes
But I think it's your mind

dalderton
Posts: 177
Joined: Sun 22 Apr 2007, 08:33

#17 Post by dalderton »

Richard I tried those mods with no success.I cannot get the problem-adapters to stick in the /etc/X11 directory .I copy it there and check it but when I burn the remaster it is not there and when I try to boot the laptop it does the usual hang and all I can get is the xorgwizard then it hangs when I select xorg or Xvesa..Incidentally the keyboard box does not come up but I assume that because I chose dvorak when I booted to remaster and it assumes that it is the required keyboard.
Regards Dennis

adrian5750
Posts: 4
Joined: Wed 07 Nov 2007, 21:18

#18 Post by adrian5750 »

HI All

I'm having the same symptoms that the op described on my Tosh Portege 7020 - gets as far as the 'probing video' bit and then hangs.

Unfortunately, I got 'lost' somewhere half-way down this thread - although my background is writing software (all the way from assembler upwards !) - I'm not up to speed with linux.....

So - in case it helps your project - can I test your video fix on this laptop, please... <g>

...but you'd need to give me some simple 'step-by-step' instructions on what to do with the file that you're offereing for download....

Many thanks
Adrian

User avatar
rerwin
Posts: 2017
Joined: Wed 24 Aug 2005, 22:50
Location: Maine, USA

Thank you for your posts.

#19 Post by rerwin »

Wow! Lots of response today.

Thanks, Dougal, for jumping in here. I am all for your taking over the fix. But I do not see where your version ensures that the 1024x768 and 800x600 resolutions are added to ddcprobe.txt; maybe you accomplish the same thing another way. Right now, there is an entry for 1024x768 in the file but it is annotated with "8514", which gets filtered out and lost. And there is no 800x600 entry at all. So please be sure that is handled. My intent was to cause the needed options to be offered -- 800x600 for all if not already there, and 1024x768 for those identified by the "8514" 1024x768 entry.

It turns out there is another adapter that causes the same problem -- a Trident. So my second version uses "grep -f" and a file for all adapter names that need to skip Xvesa. You might consider using that technique to make it open-ended and to move the adapter-specific text from the script. It currently just searches for any match in the file; but I think it would be better to precede that with grepping on just "oem:" before checking specifics -- to protect against someone adding just any string in the ddcprobe output to get a match.

Dennis, sorry that my request is getting messier than we'd like. I have not tried remastering, so am not sure what is going wrong. But I can tell you how I got it in to test, using a flash drive to hold it. I will describe the process below, in more detail than you probably need, but so that it will also help Adrian to try the fix.

Adrian, first let's make sure your Portege has either of the two video adapters we have identified with the problem. When you boot up and Puppy hangs while "probing", press ctrl-c and then enter "ddcprobe" (w/o quotes). Verify that the output contains a line that starts with "oem:" and that it is either "oem: MagicGraph 256 AV 44K PRELIMINARY" or "oem:Trident CYBER 8820". If neither. please post it here.

Here is how I test the fix. On another system I extract the downloaded file to a USB flash drive, then move the drive to the laptop in question. Boot up (using Puppy 3.01) with pfix=ram and after it hangs on the probing press ctrl-c to get the prompt (or use pfix=ram,nox and it will stop at the prompt). Then do some command line stuff (assuming you're using the later version of the fix and the drive is /dev/sda1):

mount -t vfat /dev/sda1 /mnt/flash
cd /mnt/flash
ls -l [to verify the files are there]
cp xorgwizard-tecra-trident /usr/sbin/xorgwizardx
cp problem-adapters /etc/X11/
chmod a+x /usr/sbin/xorgwizardx [may not be needed but won't hurt]
cd
umount /mnt/flash
xorgwizardx
. . .
xwin

(Do not enter the text above in the brackets ([. . .]).)

Assuming that works, shut down or reboot and make a pupsave file somewhere (HD, flash drive). Then boot with it next time to avoid the hassle.

Adrian, if your "oem:" line is different from the ones we know of, just copy that line from your ddcprobe output, appending it to the /etc/X11/problem-adapters file.

Richard

User avatar
Dougal
Posts: 2502
Joined: Wed 19 Oct 2005, 13:06
Location: Hell more grotesque than any medieval woodcut

Re: Thank you for your posts.

#20 Post by Dougal »

rerwin wrote:I do not see where your version ensures that the 1024x768 and 800x600 resolutions are added to ddcprobe.txt; maybe you accomplish the same thing another way. Right now, there is an entry for 1024x768 in the file but it is annotated with "8514", which gets filtered out and lost. And there is no 800x600 entry at all. So please be sure that is handled. My intent was to cause the needed options to be offered -- 800x600 for all if not already there, and 1024x768 for those identified by the "8514" 1024x768 entry.
Oh, I didn't try to ensure anything is added -- my idea was to just give what ddcprobe returns (which should contain the available resolutions...).
I wonder what that "8514" thing is... what is filtered out is usually "apple" and "mac" etc.

Thanks for mentioning the second adapter.
I think if you have one of the problematic machines, it might be worth your while trying to contact the Xorg people -- there is a chance the fix is trivial and it'll solve all this mess...
What's the ugliest part of your body?
Some say your nose
Some say your toes
But I think it's your mind

Post Reply