Subscribe via RSS
12Nov/210

Sony PictureBook PCG-C1S

Another eBay impulse-buy, this little guy came to me quickly (although AusPost is struggling during these 'unprecedented times') and in pretty good condition! It's a PCG-C1S, being the the second PictureBook model ever released.

DSC04193

You can see by the single mono front speaker that they didn't focus too much on multimedia. Also no memory card slots or jog dials. Sporting a 266mmx Pentium CPU, there wasn't really much horsepower to play media with anyway! The internal drive had already been upgraded from 8.1g to 20g and the ram was maxed out with 2 64mb modules.

I used my previous knowledge of booting the PCG-CD51A to get Windows 98 installed... but struggled to find a stand-alone driver for the NeoMagic 256 AV video card that'd present the correct mode for the 1024x480 resolution.

So I went digging for an Application Recovery CD and found one for a PCG-C1X on webarchive. Not being an exact match, I was a little wary... and spent way too much time trying to boot and restore the system image. Instead, I then checked the Application CD #1 and found all the required drivers on it! You could download the pack and dig in, but an easier method is just to download this zip with all the drivers in it. I've also renamed the folders in the other directory to make it obvious as to what they are.

20211112 205239

There's an installer in the video driver folder, but just do the usual upgrade driver process through device manager.

CMOS Battery Replacement

The BIOS reported all-too-often that the system clock was wrong, so it was time to replace the battery. Remove ALL screws underneath the unit. Once the screws are out, flip the unit back over and pry the keyboard up. Be very careful not to lever the keys up as they'll easily pop off and end up across the room. Next, take out the three screws that were under the keyboard and pry the whole case apart.

20211107 092925 20211107 093027 20211107 093356

Removing the existing battery pack is actually quite a challenge! There's a huge piece of double-sided tape and it could easily destroy the mainboard if you just try to lever the battery pack out. Instead, I dissected the pack...

20211107 093655

Oh shit...

20211107 093702

The bloody cells had corroded.. I mean, why am I surprised? Let's hope it hasn't travelled too far. The plug on the mainboard end is so small that it's hard to determine if there's any of the usual green-tinge. Either way, I went hunting and a replacement battery-pack was found on eBay. It was actually for a Dell, but the cell specifications matched. Unfortunately, the plug was too large. Instead of finding another more-correct version, I chose to splice the plug over from the dead battery pack.

20211107 092715 20211107 093500 20211107 120041

This has worked well, regardless of the fact that the new battery pack already had a tarnished ground wire which required extra heat to get soldered.

DOS Gaming

Loading up the DarkSeed ISO saw a garbled colour screen on execution. The whole system was then frozen. Using this version worked fine though!

20211112 210841 20211112 210852 20211112 211014

DOOM worked fine also, although configuring sound was a little touch-and-go. If you tried to choose Adlib for music, then no SFX would play... and Soundblaster FM produced no music. Switching back to General MIDI and SB for SFX got beautiful music, but then the SFX stopped? A reboot with the same config saw it all working again. Seems the SB Emulation can get in a muddle and nothing like a good 'ol CTRL-ALT-DEL for Windows 98 SE to the rescue.

Linux on the PictureBook

I'd previously done this with a PCG-C1VX, and that all worked fine once the modeline was added, but this version of the PictureBook required a bit of extra work. The modes were already listed in the X11 config, but on boot, X11 would error saying that the modes won't display correctly on the LCD panel!

20211112 182856

There's a console app called dccxinfos that lists the available modes reported by the display hardware and our mode wasn't listed! (Yes yes, the above screenshot was taken after correcting the configuration!) So, the trick, after a lot of googling, was to add the overrideValidateMode command in the config. Here's the juicy bit:

20211112 183023

Finally, the LILO boot screen menu is stuck at 800x600 and runs off the page, but editing /etc/lilo.conf and setting the vga option on the linux kernel load line worked for further booting.

vga=769

just run lilo after editing the file above and reboot.

Filed under: Vaio No Comments
1Mar/212

Sony VAIO PCG-Z505R – Bootable PCG-CD51A Image

This has always been on the wish-list and one appear on a Facebook group recently. It came with an external CD drive, but no power adapter. Fortunately, third-party adapters are easy to find on eBay and one arrived in no time at all. A port replicator also then arrived as someone was selling one for cheap and, honestly, there's no competition as no one else has a Unicorn laptop that needs one!

DSC02310

Such a nice design. The colour instantly tells you it's a Vaio.

Cosmetic Issues

The unit wasn't without its flaws. Both screen hinge covers were loose in the packaging when it arrived. The main issue is that the tab/lugs have been partially destroyed. The bases where they're meant to click in are also unhealthy.

DSC02312 DSC02316 DSC02318

The right pillar between the main base of the laptop and the screen hinge is also in a bad way. The plastic shell has actually been glued down as, presumably, the clips holding it down have also been erroneously removed. It also looks like a washer or coin was sitting on the speaker and the unit was then closed, creating a circular impression in the plastic. The speakers are also a little distorted on low volume. I must admit, the seller never mentioned any of this. Finally, the unit, all around, has dints and scratches... but, well, wouldn't I just do the same damage to it if it was in my care anyway?

Installing Win98SE

The unit came with XP installed, but it wasn't running as quickly as I'd like. The unit only had 128mb RAM, so I opted for Win98SE. The CD started booting from the external drive, but the base OAK/ASPI drivers couldn't find the CD-ROM! I then realised that Sony's PCG-CD51A External PCMCIA CD-ROM Drive is proprietary (not really surprising for Sony!) and doesn't work with generic drivers.

Instead, use this boot disk and burn it to a CD as the boot image, with the win98 folder as the guts. If you try to roll your own, you may get the following error:

DSC01561

Just for search results, let's represent it as text:

The following file is missing or corrupted: VA16CD.SYS
There is an error in your CONFIG.SYS file on line 3

VA16CD.SYS Corrupt or missing!? The file is on the boot disk, and when booting from a USB floppy with the standard PCG-CD51A boot disk, it'll work fine. Once you try to burn that img as a boot floppy to a CD image, it will fail miserably.

The point is that, as soon as you load the VA16365.SYS driver, it re-initialises the PCMCIA bus and throws A:\ in the bin. A:\ was virtual anyway, being the boot floppy image on the CD, and so when the boot disk then tries to load, A:\ is no longer accessible! Instead, I hacked around with CONFIG.SYS and AUTOEXEC.BAT to load the drivers later.

Going into a little more detail, VA16CD.SYS needs to be loaded in CONFIG.SYS and requires that VA16365.SYS be loaded first. Of course, if you do that, A:\ disappears and then CONFIG.SYS fails trying to find VA16CD.SYS as it continues to load. I tried a lot of things to prevent VA16365.SYS from trashing the boot-disk access, but nothing worked... it really seems to want to re-init the PCMCIA bus.

I then managed to find a work-around! I crafted a boot image that uses DEVICE.COM from QEMM to load the SYS drivers later. With the SYS driver files skipped in CONFIG.SYS, the boot process gets to AUTOEXEC.BAT and the standard RAM drive is initialised as per the Win98SE boot disk. Once up, I then copy everything from A:\ over to it, switch to it and then proceed to load the SYS files via DEVICE.COM and then MSCDEX.

DSC02304

It works, but there's a caveat! You'll get errors that A:\ is missing as it's still in the path... oh... maybe I should unset it from the path. Anyway, the image above will let you boot from the Sony PCG-CD51A PCMCIA CD-ROM. Just hit F when the failure message comes up and switch to D:\ or E:\ to start the install.. fdisk... file-copy, etc...

I installed Win98SE from C:\WINSETUP. When it booted, all the drivers were missing, so I tried to install Red Hat instead.

Linux for a PII-366 w/ 128mb RAM

I found a link to another Sony laptop where the user had installed Red Hat Linux 7.2 with a CDE-style WM known as DeXtop. Of course, trying to find Red Hat Linux (not Enterprise!) nowadays is a pain since they chose to rename/reuse the name/numbering for the new versions. I first checked Winworld PC, but they only had v5.0. Looking closer, you'll see a link to Red Hat's Linux Archive and from there, you can find the ISOs for Red Hat Linux 7.2. But those links don't work, so get the ISOs from here.

DSC02330

I then failed to get it even installed as it seems the laser in my external PCMCIA drive is failing miserably. Somehow, I had another PCG-CD51A in my PCMCIA junk box! Same CD error though!? Let's re-burn with a different CDR brand and the slowest speed.

Finally installed, why is it trying to initialise ETH0 on each boot? Oh shite, there's actually an ethernet adapter inside, but I'm missing the dongle?

z505r-ethernet

There is no actual option to disable it in the BIOS, so we'll have to disable it at startup script located in /etc/system/network-scripts edit the ifcfg-eth0 file and change ONBOOT to no.

Next, no sound. Video was nicely initialised, but audio just didn't work. Turns out this thing has a NeoMagic 256AV Sound device and people already have workarounds. Turns out all it actually needed was for me to run sndconfig!

Finally, I tried a PCMCIA Ethernet card. I had a Laneed nearby, but there was no off-the-shelf driver, so without networking I gave up on RH7.2 from there.

I was about to just give up, but then tried to configure WiFi. I had already purchased some really old/compatible cards for the eMate. These should surely work with Red Hat? One is a legit Linksys/Cisco Orinoco/Wavelan, so it must just work... Supposedly I can just run the neat command and set everything up?

DSC02363

It worked pretty well. The first was a Linksys WPC11, but it just wouldn't associated with my guest network access point. The eMate did though! Maybe this thing is way too old, being a REV 1. I'll have to do some more digging and work out how to correctly set up WiFi. This can go back in the box for now.

Application Recovery CD

After reading the manual again, it turns out you can disable the internal Ethernet adapter via the Sony Notebook Setup application. This app is actually nowhere to be found on the internet, so it must be on the restore CD?

Thanks to archive.org, the ISO can be found here. I'll download and install it when I get a chance and report back.

Filed under: Vaio 2 Comments
1Aug/186

Sony Picturebook – CD-ROM, RAM, Linux and WiFi

This poor little machine has been in its box for quite a while. I bought this Sony PCG-C1VS/BW PictureBook a while ago from Retro ShopBox on eBay (highly recommended!), but just hadn't gotten around to really using it! It's in great condition, with the only real issue being a missing battery latch, but the battery is still nice and snug. I've recently picked up a CD drive for it and can now install random OS'sss! I also found a RAM upgrade to max the poor thing out.

64mb Memory Upgrade

This unit is limited to 192mb of RAM, coming with 128mb RAM as standard. This means that, somewhere in the universe, there's 64mb upgrade cards floating around. I had to scour Yahoo Auctions Japan to find the component and used Buyee to get it over here.

DSC04289

DSC04295

Installation couldn't be any more simple. Flip the unit over, undo the single screw, open the case and insert the card.

DSC04297 DSC04298 DSC04299

DSC04300

Yey! 176mb usable RAM after the Video took 16mb? (Below Linux only seems to think it's 8192kb... what's a CMS?)

PCMCIA CD-ROM Add-on

I found the CD drive on Yahoo Auctions at the same time as the memory upgrade above. It was to be more economical to ship them all at the same time.

DSC04301

DSC04302 DSC04303 DSC04304

Note that the PCMCIA card and cable are fixed; there's no ability to remove them. Sony thought ahead though! You can actually run the cable in the space provided under the drive, with the card finally popping into it's housing to be tucked away!

DSC04305

DSC04354

And check that out, the drive even comes with an eject pin! It's neatly housed underneath and locked away when the PCMCIA card is slotted in. Very handy to get your CD back our when you've disconnected the drive! No more paper clips.

DSC04306

I love that it shows the raw name of the ATA hardware. It's a Ninja!?

RedHat Linux 5.2

I purchased this beautiful boxed set from a flea market a while back and got it running on an old 386. I simply assumed it would just work on this unit also. The Transmeta Crusoe emulated an x86, right?

DSC04308

There was a floppy disk, but I can't run both a CD and Floppy drive at the same time... fortunately CD1 is bootable!

DSC04310

...unfortunately, that's where it stopped... no amount of boot arguments got the boot process any further than the above line.

RedHat Linux 7.2

It was obviously going to be an uphill battle from here, so I prepared myself with a little google'ing. Of course, people have already gone and installed linux before, so it was totally possible. The main point was to choose a distribution that was of the same era (or maybe even 6-months older than the unit) to make sure that there had been time for the community to make everything compatible. I ended up chosing RedHat 7.2. Note that this isn't RedHat Enterprise Linux! Well, I lie.. it is, but RedHat 7.2 is actually RHEL 2.1.

DSC04317

DSC04318 DSC04319 DSC04323

DSC04325

Default boot parameters caused resolutions that were well out-of-range for this unit's display (1024x480). I fought a little.. lowres nearly worked, but didn't let me actually see the required buttons! I decided to just go with text mode.

DSC04326 DSC04327 DSC04328

Make sure you configure the x-server at the end and set a resolution that will display! I chose 640x480.

DSC04329

DSC04330 DSC04332 DSC04333

From here the unit booted nicely! We were at the login screen, but I wanted to set the resolution correctly, once-and-for-all. XF86Config-4 had created by the Anaconda installer and was the file I needed to edit to get the proper modeline in. At the graphical login prompt, you can switch to any text console by pressing the CTRL-ALT-F[1-4] key combination. Hit CTRl-ALT-F1 and log in as the account you set up during install; or log straight in as root. Switch to root (if required) (su -) and then edit the XF86Config-4 configuration file located in /etc/X11. You'll need to use vi if you've installed no other editors! Browse down to the Monitor section and add the following ModeLine (press the insert key to start editing):

"1024x480" 65.00 1024 1032 1176 1344 
                  480  488  494  563 -hsync -vsync

Once saved (: w q) you can press CTRL-ALT-F7 to get back to the graphical login screen. From here, choose Menu and then Restart X-Server... yosh!

DSC04337 DSC04338 DSC04339

Sound also actually just-worked(tm) out of the box, albeit a little choppy.

Wireless Networking: Belkin F5D7011 v1000

I have other PCMCIA Wireless cards, but this one happened to be in the same box as the laptop. To get it going, we'll need to use ndiswrapper which is a neat windows-drivers-on-linux translation layer utility, and luckily my card shows up as supported in the hardware compatibility list. Following the changelog, we'll need to download Version 1.48 2007-09-19 or earlier, as they dropped support for our Kernel (2.4) in version 1.49. The main list of downloads it here, and v1.48 is here.

As I've got no network yet, I'll need to either burn a CD, or use a thumbdrive... Don't forget to download the actual windows drivers (I need the F5D7011 v1000) and extract them on the windows side first. But! That link didn't work, so I actually found them here.

From here, things got murky... turns out 1.48 of ndiswrapper needs a newer kernel. I tried lower versions and found that 0.1 tried to compile. It actually built! But then told me that I needed a kernel with loadable module support. Oh good... should we recompile the kernel? Can't! No sources! Downloaded the RPMs for that here.. then performed rpm -i. Ok, sources... let's try make them... make config.. I just hit the enter key through most of it... made sure you that I answered the question to loadable modules. Then I followed this to build the required components: make, make dep, make bzImage, make modules, make modules_install. Copied bzImage to boot, edited grub.conf... reboot... fail...

DSC04345

I might just upgrade to a newer version of Linux.

Wifi: Buffalo WLI-PCM-L11G

Just worked when I plugged it in... no eth0 or wi0 though? WPA Supplicant would be needed, but it didn't want to run with my base 7.2 kernel. the earliest release.

DSC04346 DSC04348 DSC04349

Can't work with the driver? I have no idea if it even works with my card :(

Other distributions?

Moray Allan has a post regarding Linux on the C1VE. It details debian and installation procedures. But that would/could still cause me to have a kernel that doesn't support WPA. Either way, I scoured ISOs are available here.

DSC04359

Choose to Expert install and set a proper video mode, otherwise you'll get the screen above. I failed the installation as it's netinst and I needed my PCMCIA slot for the CD!

DSC04360

What about Puppy? Make sure you choose a version that is both non-uefi and non-pae! Currently to be found in here. It tried to boot the ISO and then failed to find it. So I copied the ISO to a USB and had that inserted on boot. It found it and tried to go further but then got stuck at the sound module, letting out an awful noise that seemed to be destroying the hardware!

Filed under: Vaio 6 Comments
27Oct/165

Sony PCG-C1VS/BW PictureBook

I've always loved this form-factor. Sony did a really great job early on with their Vaio C1 Series subnotebooks. Known as the 'PictureBook' (Product Brochure), it's a pocket-sized letter-box bundle of fun. This is one of the first, from Japan, with the a Transmeta Crusoe 600mhz. You may not have heard of Transmeta... they were the first company in a long time to try and beat Intel at their game and built 'low power' but performing CPUs for the 'mobile' (laptop or hand-held touch-screen [this OQO]) device market.

DSC06869

It came installed with Japanese Windows 2000. Not much fun and took forever to boot, so I attempted to get Windows ME on to it. Yes... Windows ME... there's even a sticker on the machine stating that it is designed for it! I didn't have an external drive for it, so I couldn't boot off anything but the internal HDD. It can't boot off USB, so you'd need one of the proprietary Sony external PCMCIA CD-ROM drives if you wanted to go down that route.

Instead, I grabbed a larger 2.5" IDE disk that I had lying around and created a bootable partition on it. This wasn't without its own complications! I then dumped the WinME CD onto the disk into its own folder before putting the drive into the Vaio.

Swapping out the HDD

Flip the beast over and take out all of the screws with an arrow pointing to them.

DSC06867

Now take the battery out and pop off the two dark-purple caps. These are only clipped on, but require quite a bit of force. Edge your way around the circumference, prying them off around 3mm at a time.

DSC06874 DSC06876 DSC06877

Once off, flip the laptop back up to its normal orientation and take out the screw top-left on the hinge.

DSC06879

Now pry the keyboard up. Be careful once it is free as there are two ribbon cables that need to be undone before the keyboard comes completely away.

DSC06870

DSC06873

All of these ribbon cables are held into the motherboard by a socket that has a removable plastic 'chock'. Grab a small flathead jewelers screwdriver and pry the chock up on both sides. Once it has shifted around 2-3mm then the cable can slide out. To put it back, lift the chock, slide the cable in and then firmly seat the chock once more.

DSC06948

From here, there are 3 visible screws and one hidden. The hidden one is under the barcode sticker on the middle-right. Towards the right-hand side of it. Unfortunately, if you haven't already guessed, this does void your warranty! With this all undone, you should now be able to lift this part of the case to reveal the motherboard.

DSC06881 DSC06882 DSC06883

Finally, to remove the HDD, lift the ribbon that is strapped across it and undo the 4 screws that hold the HDD caddy in place. Carefully pry out the IDE cable and then lift out the whole HDD and caddy.

Windows Millenium

After slapping the new HDD in, I ran WinME Setup. Everything went smoothly until it booted into the desktop.

DSC06863DSC06865 DSC06866

The resolution, instead of scaling to fit onto the screen, stretched to only showed me the center of the total view. No real issues here... scouring the internet for ATI Rage Mobility M1 drivers for Millenium provided me with very little. Whilst testing drivers, I also managed to blue-screen the thing; although not a real error, as it was my fault for removing a USB key prematurely. Actually, it wasn't even a real blue-screen... just a forceful way of Windows trying to convince users to cleanly unmount disks.

At this point I realised that I probably didn't want to run WinME as the default anyway... so chose to install WinXP.

Installing Windows XP

Use a 'non-ramdrive' boot disk from AllBootDisks for Win98SE. Parition, format and sys your disk and then copy the contents of the floppy to a folder called TOOLS on C:. Also grab the relevant XP install media and then copy the whole lot into a folder called WINXPCD on the disk. Once you've transplanted the HDD back to the VAIO, boot it up, CD to TOOLS and run SMARTDRV. If it complains that HIMEM.SYS is missing, then add a CONFIG.SYS to the root of C:\ with the single line DEVICE=C:\TOOLS\HIMEM.SYS and reboot.

DSC06885 DSC06928

Once SMARTDRV is running, switch into the C:\WINXPCD\ directory and run I386\WINNT.EXE. You'd be forgiven for thinking SETUP.EXE was the correct file; this isn't the case! The installation may ask you where the files are... if it does, usually the answer it provides is the correct one. Otherwise just give it C:\WINXPCD.

Big note: If you get any errors during install (specifically regarding "setupORG.exe" or "presetup.cmd") then you're using a crappy copy of XP and need to find a legitimate MSDN ISO. You cannot, without edits that I haven't bothered to investigate, install the ISO you are using from your HDD.

You can then get all the WinXP drivers for this machine from the Sony Japan site here. If you can't handle the Japanese, then this third-party driver site might also help.

RAM Upgrade?

This japanese blog post seems to indicate that the user bought a picturebook with a 64mb upgrade in it and, after inserting a 128mb upgrade, the machine still displayed 192mb. This aligns with the specifications that say 192mb is the max anyway. Of course, Sony has used a proprietary SIMM slot and connector, so it'll be near-impossible to find anything. They seem rare on Yahoo Auctions... but I'll keep an eye out.

Further research brought me to this page on the PCG-C1XG which lists the memory modules available. Turns out there is a Sony official product for the 64mb upgrade and one is on its way to me from Japan!

*NIX?

Back at the Linux User Group at ANU in Canberra, the main developer of SAMBA (Hi Tridge!) had a PictureBook and pretty much wrote all the required drivers to get the machine up and running. Back then, the RAM this machine had would've sufficed with the relevant Linux distribution. I would love to know what version that was just to match all the generations up correctly.

Meanwhile, here's a random PDF full of information on customising the OS installation. They use System Commander for the boot menu and Vine Linux for the distribution. They do expect an external CD-ROM drive though!

I might try and find an external drive for this beast... otherwise I can slap the HDD back in a virtual machine and try and start the installation that way. Maybe a netboot first, transfer to real machine with PCMCIA network card and go from there?

5Dec/141

Vaio Duo 11 – 1TB SDD Upgrade

So, the latest in my Sony collection is a Vaio Duo 11. This 'convertible' tablet is a charm... I really love the form factor, resolution and horsepower. I had bought it with the intent to upgrade the 256gb SSD to a 1TB Samsung EVO 840 for for AUD$500.

DSC04619 DSC04622 DSC04627

Step 1: Duplicate your current disk to the new disk

The goal from this entire upgrade is to have more space, not change the OS or existing data. The first step is therefore to clone the source drive (existing 256gb internal SSD) to the newly acquired Samsung 1TB SSD. To do this, you'll need to have them both plugged in at once. The Vaio Duo 11 only has one internal slot for the SSD, so an external enclosure was required.

DSC04629 DSC04630 DSC04632

Do be careful with the enclosure purchased. It turns out that there are warnings across the web indicating that SSD are liable to overheat inside these tiny airtight boxes. This is exacerbated when doing a full drive clone as you're trying to read/write as quickly as you can.

As for the cloning, there's quite a few methods available, all with their own quirks. My goal was to do an exact 1:1 copy to ensure that the recovery and boot partitions was all intact. The first thought was something like gparted. Instead I stumbled across Samsung's own 'Data Migration Tool' which promised to do exactly what I wanted. This was a 4-click process and the copying started. After it completed, I checked out the disk in drive management and all was not as it should have been. The partitions didn't look 1:1... but I still then tried a reboot with the USB as the boot disk. Windows still booted and so I went with this.

Step 2: Get the new disk into the new hardware

Sony are usually pretty tricky when it comes to internal product design. They're not as 'closed' as Apple when it comes to making products as un-openable as possible, but they're not far off. There was nothing short of 20 overly-difficult screws in the bottom of this unit to remove!

NOTE: The speaker grills need to be taken off. These consist of a mesh grill with a layer of sticky gunk that's also of grill-design. You cannot remove these without ruining them. Note that you also have to take off all of the rubber feet and the 'locking areas' for the extra battery. I'm still trying to find double-sided tape to put all these back in. I might just use glue.

DSC04635 DSC04636 DSC04637

In the second and last pics above you can see the slot where the SSD sits. I happened to take the photo of the unit after I'd spent about an hour trying to remove the SSD. All other sites say to remove the screws nearest the SSD and then simply pop it out. Turns out it's not this simple... that blue patch you see is a chunk of sticky spongy rubber that acts as a support for the SSD. The stickiness actually makes it VERY difficult to remove. As I'd had this unit for all of 1 day, I had no intention of breaking it and so was very gentle when tinkering with the internals. Either way, after a little more prying I realised that I had to lift the SSD off the support and then it came out. To anyone trying this at home: be careful, don't apply too much force and, if possible, find a thin utensil to slide under the SSD and release it from the gunk!

After this the new SSD slotted in very easily and all screws went back in place quite easily. As stated, I'll update again when I find a tidy solution for putting the feet and grills back.

Step 3: Booting up the copied disk...

Well, it booted straight into windows and looked good. I then went into the disk management studio and realised that I was in trouble. There were partitions directly after my main partition which meant that there was no clean way to expand it! I therefore considered and attempted to 'restore' windows. Doing this inside windows should have been easy until it told me that it couldn't find the recovery partition! I then rebooted with the assist key and it also said the recovery partition was missing! Thanks to the Samsung Data Migration Tool, all of my partitions were out of whack.

Step 4: The Samsung Data Migration Tool sucks...

I had no intention of removing the SSD again... so I decided to do this copy in reverse. The old disk was in the external enclosure and then new one internal. I downloaded clonezilla and attempted a copy but it failed miserably telling me that it couldn't determine the partition table type... meh... probably to do with UEFI?

So the next step was to go all low-level. 'dd' is the tool and it will byte-by-byte copying _everything_ from the given source to the given destination. I'd known my device names thanks to the menu options in the clonezilla attempt, so I entered the following command:

dd if=/dev/sdc of=/dev/sda

It started going... I went to make a coffee, got back and found it had prematurely stopped. I checked that the USB was still mounted, all good. Then I went to pick up the USB and nearly burnt a hole in my palm! The thing was red hot. It turns out that this Toshiba drive does not bode well in this external enclosure. It's all over the web... should've checked.

Anyway, I left it to cool for a few hours then came back with a plan.

DSC04641 DSC04644

My jug'o'water heatsink-cooler worked perfectly and the copy completed... I even had the running progress meter:

dd if=/dev/sdc bs=1024M | pv | dd of=/dev/sda bs=1024M

After a reboot, all partitions looked good and recovery started, but I didn't run through with it. I'd google'd a little in the meantime and realised that windows creates a recovery partition every bloody time you upgrade significantly. In this case it was from Windows 8.0 to 8.1. If I then removed a partition I'd kill my ability to recover.

Instead I just created a new partition in the space at the end of the drive and called it D:

Step 5: Actually getting that disk space back...

So, a little more googling indicated that there was indeed a way around the recovery partitions. The purchase of an 32gb (MUST BE THIS BIG) thumb drive allowed me to copy the recovery partition onto it and then remove them from the disk. I could then expand my main drive without too much screwing around.

10Aug/1420

r5u870 for v4l2 (Linux Kernel > 3.8?)

Update: 3pei has updated the driver to work on the latest linux releases. View his github repo here or download here.
Big thanks!

The Ricoh U5870 is a USB2.0-Video Interface Controller compliant with USB2.0 Video Class. The built-in series regulators allow power supply from 3.3V power to the R5U870 and the CMOS Sensor Module. In addition, coming in CSP package, the R5U870 is the best solution for a compact USB Camera Module.
The R5U870 comes with audio interface; MIC connection by using Audio Codec connections is possible.
This driver seems to have been left for dead... it's no longer needed as the r5u87x has replaced it for all UVM cameras. Unfortunately, the older WDM drivers still need this one and it hadn't been updated for the newest kernels or video-for-linux 2.

There have been many attempts to keep this driver alive here, here, here, here, here and here.

I have a Sony Vaio UX490N. It has a Ricoh Co., Ltd - Sony Visual Communication Camera VGP-VCC3 [R5U870] and it is WDM. It cannot use the r5u87x driver. The r5u870 exists around the web... but I couldn't find one that would work out-of-the-box on Linux Mint 17. PCNetSpec over at the peppermintos.com forums posted information and an updated driver. Unfortunately, this driver threw an error on initialisation:

[  440.587372] Linux video capture interface: v2.00
[  440.620480] usbcam: registering driver r5u870 0.11.3
[  440.620532] r5u870-0: Detected Sony VGP-VCC3
[  440.620920] ------------[ cut here ]------------
[  440.620939] WARNING: CPU: 0 PID: 2467 at /build/buildd/linux-3.13.0/drivers/media/v4l2-core/v4l2-dev.c:779 __video_register_device+0x4ff/0x540 [videodev]()
[  440.620943] Modules linked in: r5u870(OF+) usbcam(OF) videobuf_dma_sg videobuf_core videodev ctr ccm hid_generic snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_page_alloc dm_multipath coretemp scsi_dh snd_seq_midi snd_seq_midi_event snd_rawmidi kvm joydev arc4 snd_seq pcmcia iwl3945 serio_raw iwlegacy snd_seq_device tifm_7xx1 mac80211 snd_timer usbhid yenta_socket tifm_core pcmcia_rsrc snd btusb hid lpc_ich cfg80211 pcmcia_core soundcore bnep rfcomm bluetooth sony_laptop binfmt_misc mac_hid parport_pc ppdev lp parport dm_mirror dm_region_hash dm_log i915 i2c_algo_bit drm_kms_helper firewire_ohci psmouse(OF) firewire_core crc_itu_t drm sky2 video [last unloaded: videobuf_core]
[  440.621020] CPU: 0 PID: 2467 Comm: modprobe Tainted: GF       W  O 3.13.0-24-generic #47-Ubuntu
[  440.621023] Hardware name: Sony Corporation VGN-UX490N/VAIO                            , BIOS R0112N2 12/05/2007
[  440.621027]  00000000 00000000 e9fe5be4 c164b8c3 00000000 e9fe5c14 c10567ee c1826ffc
[  440.621036]  00000000 000009a3 f8f5a598 0000030b f8f4b54f f8f4b54f f2a7a800 ffffffff
[  440.621044]  00000000 e9fe5c24 c10568b2 00000009 00000000 e9fe5c50 f8f4b54f 00000002
[  440.621052] Call Trace:
[  440.621063]  [c164b8c3] dump_stack+0x41/0x52
[  440.621072]  [c10567ee] warn_slowpath_common+0x7e/0xa0
[  440.621084]  [f8f4b54f] ? __video_register_device+0x4ff/0x540 [videodev]
[  440.621094]  [f8f4b54f] ? __video_register_device+0x4ff/0x540 [videodev]
[  440.621100]  [c10568b2] warn_slowpath_null+0x22/0x30
[  440.621111]  [f8f4b54f] __video_register_device+0x4ff/0x540 [videodev]
[  440.621120]  [f8abd7f4] usbcam_usb_probe+0x334/0x590 [usbcam]
[  440.621128]  [c14a98b3] usb_probe_interface+0x193/0x2b0
[  440.621136]  [c140730a] ? driver_sysfs_add+0x5a/0x80
[  440.621141]  [c1407975] driver_probe_device+0x105/0x380
[  440.621147]  [c14a9089] ? usb_match_id+0x49/0x60
[  440.621153]  [c14a9166] ? usb_device_match+0x46/0x80
[  440.621158]  [c1407ca1] __driver_attach+0x71/0x80
[  440.621164]  [c1407c30] ? __device_attach+0x40/0x40
[  440.621169]  [c1405dd7] bus_for_each_dev+0x47/0x80
[  440.621175]  [c14073de] driver_attach+0x1e/0x20
[  440.621180]  [c1407c30] ? __device_attach+0x40/0x40
[  440.621186]  [c1407037] bus_add_driver+0x157/0x230
[  440.621192]  [c1408269] driver_register+0x59/0xe0
[  440.621197]  [c14a8317] usb_register_driver+0x67/0x140
[  440.621205]  [f8abcc42] ? usbcam_register_mod+0x62/0x210 [usbcam]
[  440.621213]  [f8abcd92] usbcam_register_mod+0x1b2/0x210 [usbcam]
[  440.621221]  [f8421000] ? 0xf8420fff
[  440.621228]  [f842105a] usbcam_minidrv_init+0x5a/0x1000 [r5u870]
[  440.621235]  [c1002122] do_one_initcall+0xd2/0x190
[  440.621241]  [f8421000] ? 0xf8420fff
[  440.621248]  [c104c87f] ? set_memory_nx+0x5f/0x70
[  440.621256]  [c164769a] ? set_section_ro_nx+0x54/0x59
[  440.621263]  [c10c3e9a] load_module+0x111a/0x18e0
[  440.621274]  [c10c47c5] SyS_finit_module+0x75/0xc0
[  440.621281]  [c11396db] ? vm_mmap_pgoff+0x7b/0xa0
[  440.621294]  [c1659bcd] sysenter_do_call+0x12/0x28
[  440.621298] ---[ end trace bab7f9cdd3a1dbaa ]---
[  440.621301] r5u870-0: usbcam_usb_probe: video_register_device failed
[  440.621317] r5u870: probe of 1-6:1.0 failed with error -22
[  440.623343] usbcore: registered new interface driver r5u870

The WARN indicates that there were assertions on entering the function. Inspecting the function shows that there are two WARNs to check for valid input data:

795         /* the release callback MUST be present */
796         if (WARN_ON(!vdev->release))
797                 return -EINVAL;
798         /* the v4l2_dev pointer MUST be present */
799         if (WARN_ON(!vdev->v4l2_dev))
800                 return -EINVAL;

So... guesswork.. which of these is null? Am guessing it's the v4l2_dev. We've done nothing to initialise it. Further investigation of other, more updated drivers showed that we had to call v4l2_device_register prior to video_register_device.

        #include <media/v4l2-device.h>
        ...
        struct v4l2_device v4l2_dev_tmp;
        ...
        res = v4l2_device_register(&intf->dev, &v4l2_dev_tmp);
        if (res < 0) {
                usbcam_err(udp, "Could not register v4l2 device\n");
                goto out;
        }
        udp->ud_vdev.v4l2_dev = &v4l2_dev_tmp;

The results were quite startling at 0100 hours.

camera

Download the driver here: R5U870 0.11.7.
To install all the required libraries to build: apt-get install build-essential linux-headers-`uname -r`.

Check that hideous screenshot... the best part? That number on the Cheese window was a count-down timer... I pressed the 'Capture' hardware button and Cheese responded by starting a 3-second count-down timer, resulting in taking a photo.

9Aug/142

Linux Mint 17 on the Sony Vaio UX490N UMPC

Right, this thing is powerful... Windows Vista came installed as default and there was no other choice than to replace with a Linux Distro. I scoured Distrowatch for a valid distribution, but had already had Linux Mint in mind.

Linux Mint

Linux Mint is fork of Ubuntu which is a distribution based on Debian.

Installation

Due to the age of the hardware, 32-bit was chosen and the ISO was downloaded. I then acquired a tool named Rufus which allows you to easily smush an ISO onto a USB stick. This stick is then bootable and we can install our distro.

The actual installation of Mint is painless... of course, you need to know how to partition and or WIPE all of your data, but that's something that I already expect you to know. One nice point is that if you choose "side-by-side" then the installer will resize your primary partition. I should check that the base Vista installation still works!

DefaultDesktop

SSH

Sure, the UX is damn handy... but the thumb-typing can be really tiresome... even if our new shells have auto-complete. Due to this, you may want to remote in from your desktop via SSH. By default, SSH isn't installed. Run the following to install it. Yes, note that we install 'ssh'... I initially expected to install sshd, but the ssh package includes this.

sudo apt-get install ssh

Press 'yes' when prompted to download the additional packages. apt-get just warns you if there are dependencies over the single package you asked for.
You can now log in to your machine on port 22. Use the account you created when you installed Mint.

ssh

Ethernet?

dmesg gets spammed with eth0 link-up, link-down messages. I imagine the device is in the unit and the dock provides the physical port?
Either way, disable it permanently:

sudo nano /etc/rc.local

Add the following line:

sudo ifconfig eth0 down

Just before 'exit 0'. File should then look like:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

sudo ifconfig eth0 down

exit 0

Touchscreen

The Vaio UX comes with a Gunze touchscreen. This works out of the box, but isn't correct calibrated by default. Once you have Mint installed, run the following in a shell:

sudo apt-get install xinput-calibrator

Once this is installed, we can now run it to get our touchscreen aligned.
Note the underscore in the executable, whereas the package had a hyphen!

xinput_calibrator

Follow the on-screen prompts. Touch the points with the stylus when asked.
You'll then be provided a configuration to store against X11:

Section "InputClass"
        Identifier      "calibration"
        MatchProduct    "GUNZE USB Touch Panel"
        Option  "Calibration"   "34 992 34 970"
        Option  "SwapAxes"      "0"
EndSection

There'll be a whole lot of output... it'll even tell you where to store the configuration. Unfortunately the location they specify is incorrect. Mint wants the file in a different area. Copy the section that matches the chunk above (chances are it's exactly the same) into the clipboard and then run the following:

sudo nano /usr/share/X11/xorg.conf.d/99-calibration.conf

Paste the configuration you copied and save your file.
Reboot your device just for fun... your touchscreen should now behave as expected when you touch the furthest corners!

ALPS Trackpoint

This wasn't fun... Under windows, you can disable the 'tapping'. This, just like a touchpad (of which the trackpoint is not) is the action of hitting the device with a single, focused prod. The expectation is then a 'left mouse button' click. As stated, you can easily disable this in windows, but you don't get that option out of the box on Mint.

I started hacking apart the xf86-input-evdev, but realised that disabling mouse buttons on the trackpoint meant the left-hand physical buttons were also switched off.

Fortunately, our friend Lawrence Wu on github has hacked the psmouse kernel driver for us. He's lowered the sensitivity so that our taps need to be serious in order to be registered.

The driver is managed by dkms which allows a substitute driver to be loaded in replacement of the built-in kernel driver. Below are the instructions for doing so. (Note that these have been copied and annotated from Lawrence's page. All credit to him! We thank you a lot!)

cd /usr/src/
sudo wget https://github.com/antonizoon/psmouse-ux/archive/master.zip
sudo unzip master.zip
sudo rm master.zip
sudo mv psmouse-ux-master psmouse-ux
sudo dkms add -m psmouse -v ux
sudo dkms build -m psmouse -v ux
sudo dkms install -m psmouse -v ux

At this point, as long as there have been no errors, DKMS will have hold of a tasty new psmouse driver for your trackpoint. To use this new driver, we need to unload the current psmouse driver:

sudo modprobe -r psmouse

You'll note from here that your mouse doesn't work... we've removed the link from the hardware to the windowing system. Mouse events are no longer making it through the pipes. Let's now reload what seems to be the same driver.

sudo modprobe psmouse

No output... no messages... just a mouse cursor! Try your hardest to make that little rodent 'tap'!...

Camera

There hasn't been an up-to-date driver for this camera for a long time. Due to this, I modified the driver from PCNetSpec's post to work with the UX. See more information on how this happened here. To install my driver, the instructions are as follows:

(Please disregard the warnings... I'll fix these at a later date.)

wget http://www.otenko.com/ux/r5u870-0.11.7.zip
unzip r5u870
cd r5u870/
sudo make install
sudo modprobe r5u870

Note: This is still a work in progress... Once it's working here, I'll post the final instructions.

4Aug/140

Introducing my new Sony Vaio UX490N

Have wanted one of these things for ages... finally bought one on eBay.
There used to be tons of them in Sofmap in Denden Town, Osaka.... but they were too dear for what was offered.

DSC04022

DSC04012 DSC04013 DSC04024

See my other posts under the 'Vaio UX' Category for instructions, hints, etc...