TideLog Archive for the “Software Bugs” Category

Recently, using ReactOS Build Environment, I started to get weird errors when trying to update my ROS source. It would say weird things like, “RosBE is outdated. Installed version: 2.1.3 Recent version: .” and also upon running the ssvn update command, I’d get, “The selected branch does not exist or the Internet Connection is down.

It appears that the servers moved to HTTPS, and there’s a bug in the batch files that control the wget commands. Kana suggested to change all the wget command lines in the sSVN.cmd file, adding “–no-check-certificate” to the ends, this fixes the problem!

 

Comments No Comments »

A big bug in the Linux version of Pinta has stopped me from using it as my Photoshop replacement. Here’s my situation: I have an image of one of our Superwoman models, for example, that is quite large, but Superwoman herself is quite tiny, in the middle of the background. I select the whole image, and copy it to the clipboard as-is. I don’t want to use the select or crop tool. I create a new canvas that is smaller than the source image in either height or width, and then paste in my image to the new canvas, so I can move it around and position it just right without having to guess using the select tool on the original.

Make sense? Hopefully! Anyhow, Pinta in its default state, SQUASHES the image to fit the canvas, if you tell it not to resize the canvas, and it looks completely wrong, it literally squashes the image from top down, you know what that looks like without a screenshot, right? I’ve fixed it in my own sourcecode copy and Pinta now behaves as I want it to. I’m not sure the devs would want my changes, but I’ll ask anyhow.

1. Grab a copy of the source, by whatever means by using Terminal (install Git first using “sudo apt-get install git”).

2. Then clone the repo with: “git clone git://github.com/PintaProject/Pinta.git”.

3. Now your source tree is ready, it will be in your Home folder under a folder called ‘pinta’. Install MonoDevelop, and open the Pinta.sln solution file using it.

4. Once open, find the Pinta.Core/Classes/Document.cs file, and after line 806, find:

            // If the pasted image would fall off bottom- or right-
// side of image, adjust paste position
x = Math.Max (0, Math.Min (x, canvas_size.Width – cbImage.Width));
y = Math.Max (0, Math.Min (y, canvas_size.Height – cbImage.Height));

Simply change it so it looks like this:

             // Modified by Tidosho. Image would be stretched/squashed if canvas was smaller and user chooses not to resize it.
//
// If the pasted image would fall off bottom- or right-
// side of image, adjust paste position
//x = Math.Max (0, Math.Min (x, canvas_size.Width – cbImage.Width));
//y = Math.Max (0, Math.Min (y, canvas_size.Height – cbImage.Height));

It’s a bit of a dirty hack, as it simply comments the procedure out, but it works. A possible fulltime modification could be a controllable scale type operation like in Photoshop where you control the scale using handles round the image, but I don’t think Pinta has a scale API.

UPDATE: It isn’t as serious as I first thought, but still annoying. The reason the image is squashed when pasted is because Pinta uses squashed thumbnails for use in the open documents list, and the History. As soon as you drag the layer pasted in, it corrects itself, but then you have to drag it back into position.

 

Comments No Comments »

I’ve been using a heavily customized version of Mandigo as TideLog’s flagship theme for a while, and it’s been perfect, bar a slight layout issue with the footer. However, I upgraded to WordPress 3.0 a while back, but when attempting to block a new page from showing in the navigation bar via the theme’s Theme Options screen I receive an error complaining about permissions. I had to check to see if I had modified anything recently that could have caused these permissions but was unable to come up with anything. I did install a plugin that allowed me to change the default username from admin, but that wasn’t the cause.

Turns out in the changelog that I keep for Kana and myself in the theme itself, the item that made the most sense was the upgrades from WordPress 2.X to WordPress 3.X. Below I describe the error in more detail followed by how to resolve the issue as it’ll likely affect others. Here’s what the error looks like:

you-do-not-have-sufficient-permissions-to-access-this-page

After visiting the internal WP site that Rikku uses for Matsuki Transport, which is still running WordPress 2.x and has the Mandigo theme installed, I noticed the difference was in the URL used to access the Theme Options page. The URL of the site running WP 2.X was “/wp-admin/themes.php?page=Theme%20Options” but in the updated WordPress 3.X the URL was attempting to access “/wp-admin/themes.php?page=ThemeOptions”. Since I knew that I had not upgraded Mandigo the problem must be with the WordPress upgrade as thought previously but instead of modifying WP it made more sense to update Mandigo to resolve the issue as noted below by modifying the theme_options.php file located at the below path.

Mandigo theme_options.php Location:

/wp-root/wp-content/themes/mandigo/backend/theme_options.php

My code snip below shows the original section that we will change in the second code snip below.

Original theme_options.php add_theme_page PHP Function:

// the functions that load the theme options page
        function add_mandigo_options_page() {
                global $dirs;
                add_theme_page(
                        'Theme Options',
                        '<img src="'. $dirs['www']['backend'] .'images/attention_catcher.png" alt="" /> Theme Options',
                        'edit_themes',
                        'Theme Options',
                        'mandigo_options_page'
                );

        }

Updated theme_options.php add_mandigo_options_page PHP Function:

// the functions that load the theme options page
        function add_mandigo_options_page() {
                global $dirs;
                add_theme_page(
                        'ThemeOptions',
                        '<img src="'. $dirs['www']['backend'] .'images/attention_catcher.png" alt="" /> ThemeOptions',
                        'edit_themes',
                        'ThemeOptions',
                        'mandigo_options_page'
                );

        }

Once you replace the original snip of code with my updated one, save the file, refresh your blog, the issue should be gone! 🙂

Comments 2 Comments »

As it is when shipped retail, this drive is terrible. The drive constantly tries to park its heads, lagging the system, even during copy and move operations. With it being a top end 7200RPM drive, this is unacceptable, especially if like my Clevo, it is installed in a gaming machine. It is the power saving “features” of the firmware that cause it. The drive also exhibits “beeping” symptoms where the voice coils of the arm recieve a high current to wake it up and seek track, the high current effectively turns the coil into a speaker, and it makes a beeping sound. The drive constantly seems to miss beats because of the parking issue, causing the arm to miss and have to be shocked back into place by the controller.

Using tools like HDDScan to disable the APM (Advanced Power Management) and AAM (Advanced Acoustics Management) features aren’t permanent, once the drives are power cycled the issue starts all over again. The drive refuses any permanent disable ATA control commands.

There is a Dell firmware that will get rid of the issue, and take the firmware up to 05SDM1. My Clevo’s laptop’s drive started out with 2SDM1 firmware. The new FW makes the drive visibly quicker. The auto flasher doesn’t work, instead we need to manually force it, I’ll show you how.

1. Download the Seagate Update Utility ISO image, hosted on TideLog, this very blog, by clicking HERE. Extract the ZIP file, you’ll find an ISO file called Seagate Utility.iso.

2. Burn the extracted ISO to a CD-RW or DVD-RW, and restart your computer. When your computer restarts, enter your BIOS and make sure the computer is set to boot from CD.

3. The updater will start on its own, but it will actually fail even though a green screen is shown, you will need to manually force it. It will dump you back at a command prompt, so type:

FDLH -m HOLLIDAY -f 0005SDM1.LOD -i ST9500420AS -b -v

Essentially this line forces the detection of Seagate ST9500420AS drives, and force flashes it, even if the BIOS doesn’t have the Dell asset tag embedded.

4. This works on any machine, including Dell Studio, Asus, my Clevo M571TU, and the M570. Any machine with a Seagate ST9500420AS drive should work fine. Any drives with “GAS” on the end are the same drive but with G-Shock protection.

Comments No Comments »

If, like me you’ve changed your internet facing server’s Remote Desktop port to stop Haxors hammering your standard 3389 port, you’ll need to specify it from any client you connect to it from. Microsoft don’t make it obvious on their own client, but many 3rd party ones will have a Port box. The Mocha RDP client I use on my iPhone has such a box.

To do it in Microsoft’s own client, you need to specify your domain or IP as usual, then add a semicolon, then the port number, for example mydomain.com:1234. This works in both Windows XP, Vista and 7. There was no option in the connection options anywhere, so I started experimenting. A lot of services on my company server require specific semicolon and port dances after the URL, so it was the first thing I tried.

Microsoft, PLEASE put a Port box in the per-connection options. It would be easier for multiple connections and saved RDP files. Put a little text reminder in the connection box UI too 😉 It’s fine for home users the way it is default, but corporate users like me who need to change ports to stop server port attacks, and who has several servers all listening on different ports, we need an obvious easy way to set it 🙂

NOTE: Remote Desktop for Mac DOES NOT support custom ports, thanks to my lil lady Kana for that tidbit 😉

Comments No Comments »

I’m in the middle of very slowly recovering data from Midori’s 250GB Fujitsu hard drive. Over the last 6 months the problems started out innocently, as if there was a bad sector. The drive would freeze with the HDD indicator solid, then after 2 mins it would recover. Running a full HDD Regenerator scan revealed no bad sectors, but still it happened, albeit not very often.

Then suddenly it has got worse, doing it every 2 minutes, blue screening the laptop. Putting the drive in my USB caddy the drive actually freezes and then completely disconnects itself from the USB bus if I attempt to write to it or cut and paste from it, as if I’ve used Safely Remove Hardware and turned it off. It will read data from itself, but very very weakly and slowly, starting at 800KB/sec, creeping up to a max of 8.56MB/sec after 5 minutes, when it should be at over 15MB/sec, normally starting out at 24MB easing to between 11 and 15MB.

It seems the MCU (Micro Control Unit, Main Control Unit, or Micro Code Unit) is failing, or there’s a voltage regulation issue between that and the heads. Modern hard drives only have three main chips as well as resistors, diodes and capacitors on their PCB”s. You have the MCU (main processor), the Cache memory chip, and the motor driver chip, often a SMOOTH chip, that spins the drive up using high current, then tapers off keeping it steady once it’s spun up to full revs. Remember when HDD’s had massive boards with lots of chips and electrical gubbins? That single MCU does the work of most of those, an awesome example of modern integrated electronics!

While we’re on the subject of Fujitsu, let me tell you a little bit of my data recovery background involving them…

Hard disk drive faults can occur for any number of reasons, sometimes wear and tear on the mechanical parts of the drive’s internals can lead to a drive failure, in other cases electronic faults on the drive’s PCB can lead to the failure of the drive, or even a mixture of both. Even a drive that is mechanically and electronically sound can fail, often leading to confusion in determining exactly what the cause of the failure is. The answer lies with the software that controls the hardware, that is stored on the platters, in the MCU, or both.

Quite a few years ago, when the data recovery industry was really taking off, new failures started cropping up, drives would spin up, make sounds as if initialising, and then…? …Nothing.

But what could be the cause? There was a very well known failure that appeared around the same era that data recovery companies started to appear like they were being mass produced from a factory! This failure was found in a popular brand of consumer desktop hard disk drives manufactured by (of all guys, Fujitsu!). These series all had model numbers beginning with either MPF or MPG. Before long the following drive models started failing, going into failure territory like no drive had been known to before:

  • MPF3102AT
  • MPF3102AH
  • MPF3153AT
  • MPF3153AH
  • MPF3204AT
  • MPF3204AH
  • MPG3102AT
  • MPG3102AH
  • MPG3204AT
  • MPG3204AH
  • MPG3307AT
  • MPG3307AH
  • MPG3409AT
  • MPG3409AH

These drives weren’t of the modern simple three chip design, they had big PCB’s with lots of circuitry. Once failed the Fujitsu hard disks behaved normally, spinning, apparently initializing, but not becoming ready. Whilst common in all drives of the above series the problem was particularly common in the MPG family, especially the 40GB and 20GB models, MPG3409AH, MPG3409AT, MPG3204AT, MPG3204AH.

To repair these drives access to the micro-program that starts and controls the drive (the firmware) was required. Once access to the drive had been gained via the manufacturer’s own unpublished ATA command-set the job of checking each of the firmware modules began. In most cases a temporary repair of the drive in order to extract a full clone onto a working device could be performed, involving repairing certain logs in the drive’s own firmware by replacing the contents with those from a known working drive of the same firmware revision. Results were often instant and long-lasting, but, once a drive had failed once there was only a finite length of time before it would fail again.

A good few years after the first problems Fujitsu finally admitted there were issue with the hard drives, cowardly blaming component manufacturers for the fault. The MPF and MPG series of drives showed excellent promise, with good performance, low price point and good build quality to boot, they should have really cemented Fujitsu’s foundations in the consumer desktop hard disk drive business, though it lead to Fujitsu calling it a day on further desktop hard drives instead concentrating on notebook and Enterprise class devices.

Even today they are still utter crap. They use the same Marvell processors that a lot of Samsung and Western Digital drives do, but WD and Sammy drives seem much more reliable. Samsung and WD boards that match failed ones are also easier to source as you don’t need to match serial numbers (embedded in ROM and on the platters on Fujitsu’s) because WD’s firmware and serial are just stored on the platters, as I think Samsung’s still are.

Comments No Comments »

I found this out the hard way, but fixed my problem myself, being an advanced techie. I installed Race Driver 3 under Windows 7 64bit on my P55IM, and ever since it asked for a reboot and tried to install a StarForce driver, the system wouldn’t start on it’s own. The Starting Windows screen comes up and sticks for ages, and the Windows animation doesn’t appear, instead the machine boots straight into Startup Recovery.

This finds a problem, but cannot fix it, so the system will still NOT START. Here’s how to fix it:

1. Turn off your computer, and as Windows is about to start, hit F8

2. Hit enter on “Disable Driver Signature Enforcement”. The system will now start normally, but slower than usual, and you might get a warning from Windows that the StarForce driver is corrupt and/or incompatible, and it has been disabled. This won’t fix it permanently, we now need to delete the driver.

3. Open a command prompt, and one by one, right click the window and paste each of these lines in, hitting Enter after each one. You won’t get confirmation, it’ll just go to a new prompt:

DEL c:\windows\system32\drivers\sfsync03.sys
DEL c:\windows\system32\drivers\sfdrv01.sys
DEL c:\windows\system32\drivers\sfhlp02.sys

4. Uninstall Race Driver 3. You can do this anytime, either before or after this step, but the game doesn’t work anyway without the driver, and doesn’t uninstall it as part of the uninstall routine, so do it anyway round.

5. Reboot, and you’re done!

Comments 4 Comments »

I’ve just refurbished a Thomson Lyra PDP2842. Replaced the HDD, dumped and modified the NAND firmware to iron a few “HDD Access Error” bugs out, and replaced the casing. It now seems to run OK, but hasn’t got the latest firmware yet, 3.03. I have it, but not yet installed it.

The firmware is in two parts. The NAND firmware on a chip on the board that controls the VFD LCD, bootloader, power and USB functions, and the HDD user-upgradeable software, which controls MP3, WAV, WMA playback, playlists, profiling, and radio play/record and tuner. The Hitachi hard drive firmware is separate completely from the player, and can be upgraded, but there’s no need to.

I connected the player to my Windows 7 machine, and the thing doesn’t work as a USB HDD. The computer makes the “do-dum” sound, and then pops up the dreaded “A device attached to this computer has malfunctioned, and Windows does not recognise it” message about six seconds later. THIS IS NOT A FAULT. Not an intentional one, anyhow. The USB function does work under XP and Vista. It’s happening because the motherboard of the player isn’t identifying itself and the HDD fast enough for ol’ Seven to think it’s responding. The board of the player is a bridge between the computer and the HDD, so it identifies itself as an IDE controller bridge, and then passes communication to the HDD, which the computer then detects, and installs, letting you use the HDD.

If this process doesn’t happen in a certain time, Windows 7 thinks there’s a fault, and ceases communication to prevent damage. My modifying of the NAND dump didn’t cause it, it happened before so I thought I’d see if I could fix it. My old one does the same.

I’ve had two of these blasted things. Poor firmware, poor design, and crap customer support saw an early death by Thomson and RCA of its own product. I sent bug report after bug report back in ’05, only to have them read the same tripe off a script to me in emails. I got fed up, and got Kassie to hex edit the lot. We recently figured how to dump the NAND contents using a probe, so I grabbed another Lyra and gave it another go. I sent my knackered Lyra to Her Ladyship in Tokyo (the HDD ribbon tore, making it damn more useless than ever!) and she played about with her probes, dumpers and chip programmers.

NEVER, EVER buy Thomson or RCA intentionally! Only if you wanna smash the shit up! Having said that, the Lyra Kassie has just helped me fix is almost brand new, and runs better than damn Thomson ever made it do. The software is smooth as oil! Oh, and I got rid of the stupid EU volume limit, because they said they had, and buggered the Equaliser up!

Comments 4 Comments »

I had one of the good oldie Liteon DD-A100X DVD Recorders in for repair today. I’ve got one of these beauties myself, and they’re really cute! The power supply was whining on Standby making a fizzing noise, the DVD recorder actually powered up, until a disc was inserted, then it shut down, with a scream from the PSU. This told me straight away that there was a failed capacitor on the PSU board.

There was. It had burst, and was slightly burnt where the vent had burst. Checking the terminals of the cap solder pads after removing it revealed a fluctuation, which I knew was an in-line resistor. After I replaced the two components, the supply was fine, and the recorder read discs again. My standard procedure when I repair a DVD recorder is to upgrade the firmware, and remove Macrovision. Any FW before 2007 on these Liteons is buggy, I know from my own machine, so I’ll walk you through it.

Checking current firmware revision

To check your current firmware, look at the label on the right side of your machine, there should be a white sticker with a barcode and a silver rating plate. On the barcode sticker it looks like this:

Model: DD-A100(3902205216)

S/N: 002648605362 – – Manufactured Date: November 2006

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

F:LNQGE032*1 – – D:BC70 – – HI-POT OK – – MADE IN CHINA

It is the F: and D: numbers that are important. The F: is the Firmware revision, and in this case the upgrade version we’re going to install is LNQGE034, so we’re OK, the upgrade is newer. The D: number is the Drive software version, which doesn’t matter, as this latest FW doesn’t have a drive upgrade with it.

Please note I CANNOT BE HELD LIABLE for damage due to mistakes or hardware errors, or injury that may occur from you performing this procedure. You do it at your OWN RISK!!

This procedure is for the LITEON DD-A100X ONLY, other machines are NOT COVERED here! ILO Hacker does many Liteon clones, but CHECK FIRST before doing it!

1. Download ILO Hacker

ILO Hacker is a great little tool. This program removes Macrovision, sets Region Free, and enables LP Record Mode if the firmware does not have it. This will work for future firmware releases (and already has, without having to be updated!). This is because the program searches for the correct area of the firmware to hack, and then hacks it for you! Works for *ALL LiteOn LVW-XXXX and ILO firmwares (*except LiteOn model LVW-5101)

It should also work for Daytek and Gateway and Philips Clones. (ILO is a rebranded LiteOn). All we need to do is run ILO Hacker, load the firmware, let ILO do its work, and then flash (or reflash if you’re hacking current FW. You can’t dump without a Debug tool, which I have, as it solders to a header on the motherboard, and also allows me to do bad flash recovery).

Click HERE to download it. Extract it anywhere you like, it doesn’t need installing. Keep it handy in case Liteon release new firmware, which I doubt as the machine’s 4 years old, and discontinued.

Download latest FW from Liteon

I’ve saved you the job, as I already have the latest from 2007, just in case they ever remove it, it’s permanently on TideLog. Click HERE to download it. Next, extract the contents using WinRAR or similar.

Hack with ILO Hacker

Open ILO Hacker. Leave the two checkboxes ticked. The DD-A100X already has LP mode, so this won’t make any modifications anyway. See the button labelled “Select Firmware File”? Hit it! Then browse to the .DA0 file you extracted.

It’ll make the possible changes, and save the hacked firmware in a Hacked folder relative to wherever the original firmware was extracted. How easy was that? Now all we need to do is get the firmware into your machine’s innards….

First, though, we’ll refresh the machine. This is optional, as not all A100 machines have it. In the Setup menu of the unit, look for “Restore” and select it. (The unit will do a system restore).

Create the firmware upgrade CD

This is another easy step. You require Nero, or similar burning program, and a blank CD, I recommend you use a CD-RW, as the firmware is only 3MB, so if you use a write-once disc, it’ll be wasted. Burn the .DA0 file to the root of the CD, no other folders or files, and finalize the disc.

Upgrade the firmware

Simply turn your Liteon on, pop the disc in, and the firmware upgrade will start. Follow the instructions on screen, and when done, remove the disc.

You now have a Region Free & Macrosvision Free recorder!

Comments No Comments »

This is the version on mine, and it seems really weird to me. It’s stopping me installing Mac OS x86 on it, no matter what I try, I’m getting “Still waiting for root device” after installation, regardless of what drivers I install. I’m using iPC 10.5.6.

Primary Master has the DVD-RW drive. The S.M.A.R.T option is on Primary, but Disabled and unselectable. For an optical?!?

Secondary Master is where the hard drive is. There’s NO S.M.A.R.T option. See the wrong picture?

From my days as a PC engineer, I know for sure that optical drives DO NOT even support S.M.A.R.T, let alone USE it. And the HDD should almost ALWAYS be Primary. The assignments cannot be changed, either, no matter how many times you take drives out, try just one, etc. SATA doesn’t use jumpers anyway, but I think the optical on this still uses IDE, but has no jumper (I’ve seen optical drives with a jumper switch on the back, in fact, I have one somewhere!)

I’m sure it’s a bug. My Novatech support rep, Rebecca (she’s lovely) is sending me an Update ISO image. My instincts tell me that this is either a BIOS code bug, a design fault, or just lazy engineering. I’ll update when I have more, and will share the disc image if successful.

Comments 3 Comments »

Is that every time I disconnect a USB device, either through Safely Remove, or by pulling it out, my SiS163U wireless network adapter disconnects itself, and refuses to find any wireless networks. I have to run Network Diagnostics on it to reset it all.

I’ve not done any searches on it yet, but it’s grating my nerves. I think it’s a driver problem, because I updated the driver through Windows Update a while back, but it’s only just started happening.

Comments No Comments »

Following on from my post about the faulty acedrv09 driver, I’ve been doing more digging, because my system has just bluescreened while I was coding my new Payroll system. It’s to do with copy protection on CD’s and DVD’s, and the acedrv09.sys driver belongs to the process Filter Driver ProtectDisc, part of the software acedrv by Protect Software GmbH. It’s internal to Windows, and is starting to annoy me!

Microsoft, if I lose any more VB .NET code because your crappy affiliates can’t write proper drivers, I’m switching to Linux!!

It’s a known issue, SO FIX IT, and don’t ruin my Christmas!! I’m starting to get really blinking mad!! I don’t want to disable whatever service it is linked to, in case it affects DVD/CD burning in any way. I might, if I’m in an adventurous mood, which I’m not right now, I’m in a coding mood!

Comments No Comments »

Geez, I’m glad I’m better at football than building source code under Linux, because all this commandline stuff isn’t rubbing off on me.

The first step in the Chromium OS build instructions is to run the script make_local_repo.sh. This will build a local repo from which your chroot environment will grab packages. However, this script has a bug where it will not wait for an APT lock. In my case, I was installing another package via apt-get when I ran the script, so it bailed out early when it couldn’t get the apt lock, and hosed my repo.

The not-so-helpful error you will get once your local repo is screwed up:

tidosho@tidosho-chromeos-build-pc:~$./make_local_repo.sh
Creating repository directory…
Updating chromeos_dev from /home/tidosho/chromiumos/src/package_repo/repo_list_dev.txt…
chroot: cannot run command `reprepro’: No such file or directory.

According to Kassie, it SHOULD be as easy as deleting the “repo” directory, and re-running the script. BUT, the folder is locked, and I cannot delete it! Kassie is trying (and swearing in Japanese!) to log in as either Sudo or root, failing!

Bloody Linux!!

Comments 2 Comments »

I’ve had a really irritating problem recently, and I can’t find a fix. My Windows 7 laptop, Ami, bluescreens randomly, and the faulting module is always “acedrv09.sys”. Nobody knows what driver it is, or who manufactures it, and there’s little or no information on the driver itself, or what hardware it is linked with. There are tons of forum posts on the Web about it, affecting lots of different machine configurations.

It seems to be an internal Windows thing to do with storage. I know it isn’t a RAM thing, as my 2x1GB sticks have been in since I restored and upgraded the laptop, they were brand new sticks. It’s affecting Vista too, some of my customers who I built Core i7 systems for have started having the issue.

Comments No Comments »

The error I posted yesterday isn’t directly a fault with the developers of the ReactOS source itself, but the Installer code for the ReactOS Build environment (RosBE) It is set to install to “%systemroot%\Program Files” by default, and it shouldn’t, as spaces in directories can cause breaks in code compilation.

I had totally overlooked this when installing RosBE, now everything seems to be fine, I’ve installed it in C:\RosBE

Comments 3 Comments »