Google Ads

I have been waiting a long time for a mature, stable build of CyanogenMod for the ViewSonic gTablet, and I have to say that I am quite pleased with the effort that the CyanogenMod team has put into the version 7.0.3 build. In fact, the only complaint I have is about the lack of built-in CIFS support on the gtab build. This is a guide on how to mount CIFS/SMB shares on your gTablet running CM7.

The reason the gTablet build of CM7 doesn’t allow mounting CIFS/SMB shares is because the cfis.ko kernel module was left out of the ROM. Fortunately, this is a fairly easy fix. On the official CM 7.0.3 gTablet build, the running kernel is Linux 2.6.32.39, and the correct module can be found on DroidBasement in the following lib package:

http://droidbasement.com/gtab/kernels/2632/37/lib-2632.39_gb.tar.gz

If you are running a different version of CM7 (or perhaps another ROM that is likewise lacking cfis support), you will want to run “uname -a” from a terminal emulator or adb to determine the correct kernel lib package to get from DroidBasement, and make sure you get the correct package for your device.

$ uname -a
Linux localhost 2.6.32.39-cyanogenmod #1 SMP PREEMPT Sun Apr 24 22:06:49 EDT 2011 armv7l GNU/Linux

Anyway, there’s only one file in that archive that you should be concerned with at the moment:

lib-2632.39_gb.tar\lib\modules\2.6.32.39-cyanogenmod\kernel\fs\cifs\cifs.ko

Once you have located this file, extract it and copy it to the internal storage of your ViewSonic gTablet using a micro-USB cable or the microSD card. Once you have it loaded onto your tablet, open the Market on your device and install CifsManager. Load the CifsManager app, click Add New Share…, enter the server IP and share name as instructed, enter the mount point, username and password (if applicable), then click on Save Share. Be sure your mount point exists in a location that is writable so that CifsManager can create it.

Before you mount the share, you have to tell CifsManager how to load the cifs.ko kernel module. Click on Menu, Settings, then check Load cifs module, and Load via insmod. Finally, enter the full path to the location of cifs.ko, then hit back and attempt to mount the share. If all goes well, you will see a message that reads, “The share has been mounted successfully.”

Unfortunately the version of CifsManager I had installed failed to set the permissions correctly when it created my mount point. Particularly, it left out the execute bit for everyone except the owner. In order to fix this, open up your terminal emulator, ssh client or adb, and type:

$ su
# chmod a+rwx /mnt/cifs/mountpoint

Replace /mnt/cifs/mountpoint with the actual name of the mountpoint you are using for your share.

And that’s it! You can now access files on your smb share directly from your gTablet within any Android app. I use it to access my music library as well as pictures and video files.

We recently started working on an old Unisys Aquanta EN (which is a rebranded Acer AcerNote Pro 950cx) for the lulz. However, since the thing won’t boot off any external disks and we have no internal floppy or CD-ROM module for it, it turned out that getting an operating system onto it wasn’t so easy. After several hours of fiddling with USB sleds and other possible solutions, we gave up on doing it directly to the hardware.

Enter virtual machines. We first tried VirtualBox, but it turns out that there’s not any easy way to install an operating system directly to a physical hard drive attached to the host OS. We decided to try VMWare Workstation.

Trying to install was a little disconcerting – we could get it booted and going, and the Windows 98 SE installer saw our 4GB IDE hard drive attached to my computer over USB, but as soon as the installer tried to format the hard drive or write files to it, it choked and VMWare gave us a “could not write to the disk” error.

It turns out that, unsurprisingly, UAC in newer versions of Windows prevents software like VMWare from directly accessing a hard drive and writing to it – even though VMWare presented a UAC prompt requesting elevated privileges to access the physical disk. After a little swearing and a bit more Googling, it turns out that you need to manually unmount the hard drive and set it as writable. This isn’t all that hard, but it does require a few minutes of command line work.

Open up a command prompt, type diskpart, and hit enter. Once diskpart launches, type list disk and hit enter to view a list of attached physical drives. You’ll now need to identify which of the drives listed is yours. Once you’re certain you’ve got the right disk, type select disk $n (where $n is the number of your disk). To take the disk offline (unmount), just type offline disk. Once you’re sure the disk is unmounted (you can double-check by looking in Explorer), type attribute disk clear readonly to make the disk writeable. Type rescan to wrap up, and you can now exit diskpart.

Open up VMWare, start your virtual machine, and now you can format your disk normally.

VMWare is a great way to get an operating system on to a disk when you’re unable to do so from the real host computer. VirtualBox is a good free alternative, although it’s a little rough around the edges in a few places. If you have problems or need a more advanced configuration, you can find an in-depth article on this issue on VMWare’s website here.

Happy geeking!

I just got an iPhone and switched to AT&T after five years on Verizon Wireless. Don’t get me wrong – I really liked Verizon. It’s just that I left my previous employer several months ago, and I knew that resigning a contract meant they’d validate my employment status, realize I was no longer employed there, and cancel my 20% discount.

Fortunately, I discovered that Purdue has a deal with AT&T, so I was able to get 20% off both the voice and data portions of my wireless plan. I knew I wanted a smartphone, and after playing around with the options, there was no denying that the iPhone beat the competition in usability, speed, and general awesomeness.

After I bought my 60GB iPod Photo in 2004, I swore up and down that it was the last Apple product I would buy new – yet here I am, with a shiny new iPhone. So sue me…things change.

Anyhow, I’m big on hacking and tweaking my stuff. My last Verizon phone was a Motorola V325, and I hacked the hell out of it to make it work how I wanted. Naturally, I jailbroke my iPhone within 24 hours of my purchase, so that I could better customize stuff like sounds and the UI.

I’ve been using one of the themes from Super Mario World for the past five years on each of my phones, so I knew I wanted to upload it to my iPhone. Turns out that adding ringtones takes a little work, but it can be done – for free, and with free software. iTunes will only let you create ringtones from songs you’ve downloaded from the iTunes Store. I’m going to show you how to create ringtones from any audio file, whether it’s WAV, MP3, AAC, or anything else.

First off, you need Audacity. This is a free, open-source sound editor that’s been around for awhile. You want to make sure to get the latest beta version, as it includes support for exporting to AAC (.m4a) format. Once you have Audacity, you also need to get the ffmpeg libraries, which will support exporting to multiple formats (including AAC). If this link is dead, try the version here.

You’ll notice that the file format of the downloaded libraries is a little odd (the second link will take you to a .7z version) – if you don’t already have it, 7-Zip will allow you to extract the files. Once you have the files extracted, copy them into the Plugins directory of your Audacity program folder – it should be something like C:\Program Files\Audacity 1.3 Beta (Unicode)\Plug-Ins.

If you want to make MP3 ringtones for phones other than the iPhone, you need the LAME libraries, available here.

Now you can load up Audacity (it’s in your Start Menu once you’ve installed it). The first thing you need to do is tell it where the ffmpeg libraries reside. Click the Edit menu, and select Preferences. Go down to Import/Export, where you’ll see a box about ffmpeg in the top left corner:

ffmpeg-prefs-1

Click Find Library, and browse to the Plugins folder where you extracted the files. You’ll see that a single dll appears – click it, and click Open. You’ll now see something like this:

ffmpeg-prefs-2

Now that Audacity is set up for exporting to AAC, we can start making our ringtones. It’s pretty screenshot-heavy, so click the jump to see the rest.

Read the rest of this entry »

2008.10.29 [Wed] | 09:08 AM

I tend to be the go-to person for tech support among my friends, family, and neighbors. A few nights ago, one of my neighbors asked me to help him with his custom-built machine. His USB ports had mysteriously quit working. I messed around, and the same thing kept happening. His Microsoft USB wireless mouse worked just fine, but his HP all-in-one inkjet printer and his SanDisk thumb drive didn’t work. Plugging them in resulted in a “one of the devices connected has malfunctioned” error from Windows. His thumb drive appeared to work just fine in Ubuntu Linux.

We removed all the USB host items from the Device Manager and reinstalled them, to no avail. Then I tried disabling the USB enhanced controller item (this is generally what lets Windows know that a USB controller is capable of USB 2.0). This worked, but kept his devices from working at USB 2.0 speeds. We even reinstalling Windows completely and still had the same problem.

I started Googling around and found this article regarding my exact problem – the SiS PCI to USB Enhanced Host Controller mysteriously quit working, and took all USB 2.0 devices down with it. This blogger’s solution was to shutdown and unplug the computer, wait for about half an hour, hold in the power button for a minute, and then restart the machine.

And, like magic…it worked.

I can only begin to guess why. Like this other blogger, my neighbor’s machine had a Gigabyte-brand motherboard. My theory is that something was getting corrupted or otherwise mistranslated by the motherboard regarding the USB 2.0 controller, and whatever was breaking things was being remembered across shutdowns and reboots.

By letting the machine sit for awhile, all the capacitors on the motherboard and power supply emptied out, thereby completely cutting power to the machine. This apparently reset whatever dark magic was causing the problem in the first place.

It’s likely that in Matt’s case, Linux was allowing the ports to work, but only at 1.1 speeds. Since we didn’t test how quickly file transfers took place in Linux, I can’t confirm this theory, but it would fit with my above assumptions.

At any rate, now we have our answer. The next time this happens (and I imagine it will), I’ll try the fixes listed on usbman.com first, so we can try to cure the problem once and for all.

I’m a bit of a packrat. When something electronic finally craps out, I tend to keep it around, just in case. Dead hard drives fall into this category, at least for me.

If you’ve never taken apart a hard drive, you should. The platters are unbelievably reflective, since they’ve never been touched by anything before being installed in the drive’s casing. I have a large collection of hard drive platters at the moment, some of which have interesting radial patterns due to being scratched into oblivion by a misaligned head. I’m not sure what I’m going to do with them yet, but I’m sure I’ll think of something.

Another handy component in a dead hard drive is its magnets. Hard drives have two extremely powerful magnets in them. You want to be careful when playing with these – you could injure yourself if you got some skin or a finger caught between two magnets as you snapped them together.

I use some magnets on my fridge – the ones that have prongs on one end work well for this, since it keeps the magnet itself from touching a surface. Hard drive magnets are strong enough that they’re pretty difficult to pull off a magnetic surface.

So, in addition to my wide collection of hard drive platters, I also have around twenty hard drive magnets of varying sizes and styles. Today, I found a good use for one of them.

I live in an old historic house in downtown Lafayette, IN. All my walls are plaster. Today, I bought a cheap Black and Decker laser level at Menards. It comes with a magnetic wall mount, but the mount requires using a small pin to attach it to the wall. This pin only really works with drywall – if you’ve ever tried to push a pin or nail into plaster by hand, you know how difficult it is. So, I needed to find an alternative. Because of the design of the wall mount, I couldn’t just stick it to the wall with a piece of double-sided heavy-duty tape. The solution? A hard drive magnet!

It worked perfectly. I used my favorite 3M indoor/outdoor double-sided tape to mount it to the wall. You need to be careful when using this tape – if you remove it too quickly, it will rip off a layer of paint. I would imagine that other types of adhesive mounts would work equally well – 3M’s Command Adhesive tape would probably work, since the level isn’t very heavy (at least, my $15 one isn’t).

At any rate, think twice before dumping your trashed hard drives – they may still be useful for other geeky (and non-geeky) sorts of projects.

2008.06.12 [Thu] | 08:46 PM

I have friends all over the world. Once in awhile, I make use of the various webcams I own and do a little video chatting. Getting video chat to work well will be for another day – something I learned recently, however, was how to setup a live stream on a webpage. It was surprisingly easy, and works in both Windows Vista and Windows XP.

You need three things : a webcam, a decent high-speed internet connection (the lowest end DSL might not have enough bandwidth to support this well), and Windows Media Encoder, which is available for free from Microsoft. If you’re running Vista, there’s a hotfix you might need (it’s linked on the main WME page), but I have yet to have any problems myself.

You might also want to get a dynamic IP service, like dyndns or no-ip. I used no-ip.org, although they seem to be really big on sending me frequent emails advertising their paid services – I’m not a big fan of free services spamming me about their commerical options. If you don’t use a dynamic IP service with the computer running the webcam, you’ll have to manually update the webpage every time your IP changes.

We’ll walk through how to get setup and going. It’s a bit screenshot heavy, so click the jump to see the rest.

Read the rest of this entry »

2008.06.09 [Mon] | 10:37 PM

I just finished up a review of the Asus eeePC 4g (701) for Julie over at The Gadgeteer (check it out here). Before i finally got around to writing that review, I hadn’t done a whole lot with my eeePC. Since last night, however, I’ve installed Windows and started looking for ways to make my eeePC as functional as possible.

Read the rest of this entry »

2008.06.08 [Sun] | 02:15 AM

You know, for all the flak our friends in Redmond get, I’ve seen Microsoft release some pretty decent stuff lately.

I sometimes wonder (ok, so I wonder a lot…) if people have a habit of immediately discounting anything from the hands of Microsoft because, well, it’s from Microsoft. Perish the thought!

Anyhow, I’ve more recently become a regular user of two well-known Microsoft products: Windows Vista and an 8GB Zune. I can still remember when the Zune first came out – it was mercilessly destroyed by critics everywhere as a pathetic attempt to compete with Apple’s flagship iPod products. At this point, anything that plays movies and music is going to be an iPod competitor, period. It’s hard to create something that can validly stand up against the number one digital music player on the merket.

At any rate, I’ve been writing reviews for Julie Strietelmeier over at The Gadgeteer for a few months now. She asked me to review the 8GB Zune, and I’ve been using it ever since. I’ve even gone so far as to mention to her several times how much I like the thing.

You can read the full review here – it’s a bit long, but it’ll be easier than me repeating myself in this post. Why do I really like the Zune? It just works. Seriously. I turn it on, and it works. There’s almost zero learning curve. The up-and-down motion of the touch-sensitive D-pad (wow, that was a lot of hyphens) is easier on my thumb than the scroll wheel on my fourth generation 60GB iPod photo. It fits in my back pocket. Battery life is phenomenal – I only charge it about once a week, and I use it every day. It looks sexy as hell.

The software leaves a little (or a crapload) to be desired, but the latest revision (2.5) fixed several of my top complaints about the usability of it. I’d like to see MS give us Windows Media Player compatibility. Overall, though, what can I say? I really, really love my Zune. When my iPod finally dies on me, I’m pretty sure I’m going to be replacing it with a Zune. Of course, this means my iPod alarm clock will no longer be very useful, so I may have to keep around an iPod just for that.

Epiphany – now I know why people are against buying products specific to a single device. I mean, everyone was thrilled when all the major cell phone manufacturers announced they were going to a single standard for charging (micro-USB), right? It’s too bad that all these music devices can’t use a single standard for docking, remote controls, alarm clocks, video output, etc. I’ve got too much iPod hardware as it is. I’ve looked into how difficult it would be to create an adapter to use my iPod stuff with my Zune – it doesn’t look overly complex, but would require some more knowledge about the Zune’s pinouts (what’s available now is far from solid data). Getting charging and syncing to work is one thing, but getting other signals to work – remote controls and other docks, specifically – is another beast. I’ll add that to my ever-growing list of summer projects.

I’ll save my commentary on Vista for another day. Right now, I’m more interested in figuring out how to add timestamps to WordPress posts.

Google Ads