Hacking devices can/will void your warranty and can turn your expensive consumer electronics into worthless trash if you don't know what you're doing. This blog is for information purposes only, and if you try to hack into your own consumer electronics, you do so at your own risk. The device I'm currently hacking is the Canon SX10 IS camera.

Saturday, February 7, 2009

Fixing the Norton Internet Security problem, and an improved toolchain

At the request of cybermomo, I rebuilt the toolchain with g++ support. All non-windows binutils were already included. So I threw in a bunch of other utilities while I was at it. I haven't yet made this available.

I decided to tackle the issue of the Norton Internet Security problem. For those not familiar with the problems it has with the screenplay (of which neither side wants to fix): The ScreenPlay uses an older kernel driver. The NIS 2009 version of the program makes some change to the NTFS partition on the screenplay EVEN IF YOU EXCLUDE THE DRIVE and makes it so that the kernel driver can't read it anymore. So then when you boot the screenplay pro hd, it just sits there flashing at you.

The easiest way to solve this is to move over to the newer NTFS-3G driver, which will solve a bunch of other problems with the NTFS driver too. So I included that as well. Unfortunately, the buildroot needed several adjustments before I could finally include the driver. It required wchar support, so I had to rebuild the uClibc libraries with that. I had to adjust it to use the latest stable version of NTFS-3G. Then it was just a matter of figuring out how to install it into the existing screenplay. That's where I ran into trouble.

Apparently the NTFS-3G is requiring a fuse.ko module. I believe that's only going to be possible if I rebuild the kernel. I'm not sure if there's any other way around it. However, I'm just not familiar with the kernel modules and how to create them. So I'm somewhat stuck there.

I also tried reformatting the drive with the 8 partitions to see if it would mount the 6th partition under the livepause as it tries to do when you start dvdplayer. Unfortunately, it did not. I would format the partition as ext3, and it would turn around and do a mkudffs on it, and then try to mount it and fail. At least, the output appearing was similar to when you run a mkudffs.

So not very much success this time. I'm in process of reformatting my NTFS partition as EXT3 to do some other experiments.


  1. No need to rebuild the kernel, it's enough to build only the FUSE kernel module. The kernel headers used on the device and the .config kernel configuration file are what you need.

    However I suspect that the ntfs-3g performance won't be very good. The company who develops the free driver has an optimized but commercial licensed version for embedded device vendors which performs about 10 times faster.

    Anyway, it would be very nice to make it work :-) Good luck!

  2. Good news, if you can/want please share your toolchain i'll be really happy with c++ compilator.


  3. Hmmm, compiler runs, but none of the C++ headers exist in the buildroot. Looks like I've got a bit more configuration to figure out.

  4. Bruce, That would be fantastic if iomega provided the kernel headers for the ScreenPlay Pro. But they won't even comply with the GPL.

  5. Take a look at Q800 GPL source code released there will probably have lot of similitude with your hardware.