Feb 152010
 

I’ve decided to spend my tax return on a pair of new media systems and a projector. Here’s what I’m looking at so far: Projector: Epson 705HD.

  • It’s a nice inexpensive projector that has been getting rave reviews.  It will be perfect for our living room.

Media Server: For the living room – running the projector

  • Mythbuntu front and back ends
  • Will also run rtorrent, rtgui, file services, and the MPD music server.
  • Core i3 530 @ 2.93GHZ
  • 2gb DDR3 1600 RAM
  • Gigabyte GA-H57M-USB3 micro atx motherboard.  It is tiny and has HDMI output from the i3 AND raid5 onboard.  Shwing!
  • 4 x Seagate Barracuda LP 5900.12 1.5 TB drives in a RAID 5 for a total of 4.5 TB of storage
  • nMEDIAPC Red Wood HTPC 8000 ATX Media Center Case (simply beautiful!)
  • Should use ~100 watts total power.

Media Client: For the bedroom – running a 22” monitor (eventually replaced with a 37” TV)

  • Mythbuntu front-end only
  • Zotac IONITX F-E – Dual core Atom/NVidia ION platform
  • 2 GB DDR2 800 RAM
  • Whatever 2.5” drive I have laying around.  Probably a 40 or 80gb from a broken laptop I have laying around.
  • Antec ISK 300-65 case.  About the size of an old-school external CD drive.
  • Should use ~25 watts total power.

I’ll document the build as I progress – I should be starting in about 3 weeks.  :) The machines that these are replacing are currently VERY dated and I expect I’ll end up almost eliminating ambient noise in the living room, and should reduce our power usage to about 1/4.  Woo-hoo!!!

Feb 052010
 

Fixed! I can now use ADB to talk to the phone in OSX! Turns out that it’s a problem with the way that LG designed the phone’s composite device vs the way that OSX recognizes composite devices. USB devices all present a class and a subclass to the OS when they’re plugged in. For composite devices the class is 0 and the subclass can be 0 (legacy) or 16(current.) Linux plays a little fast and loose, and assumes that anything with a class of 0 is a composite device, but OSX is a little more stringent. It looks for the subclass to be proper. LG made the subclass on the GW620 a 2. Not 0 or 16 like the USB spec says, but 2. Totally non-standard. So, I modified the Info.plist for OSX’s composite device driver so that it would also accept 2. Problem solved. :) Here’s what you need to do to make it work:

  1. Open terminal (Applications/Utilities/Terminal)
  2. “cd /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/IOUSBCompositeDriver.kext/Contents”
  3. “sudo nano Info.plist” (or vi, or emacs, or whatever console editor you prefer)
  4. Copy the IOUSBComposite section (from <key> to </dict>)
  5. Paste the section in at line 66 (right after where it appears) so you have 2 copies in the file
  6. Change the bDeviceSubClass value from 0 to 2
  7. Change the key name from “IOUSBComposite” to “GW620″
  8. The end result should look something like this:
                    <key>GW620</key>
                    <dict>
                            <key>CFBundleIdentifier</key>
                            <string>com.apple.driver.AppleUSBComposite</string>
                            <key>IOClass</key>
                            <string>IOUSBCompositeDriver</string>
                            <key>IOProviderClass</key>
                            <string>IOUSBDevice</string>
                            <key>bDeviceClass</key>
                            <integer>0</integer>
                            <key>bDeviceSubClass</key>
                            <integer>2</integer>
                    </dict>
    
  9. “sudo diskutil repairpermissions /” and let it finish
  10. “sudo touch /System/Library/Extensions” and wait a few mins for the extension reindexing to finish
  11. “adb devices” should now see your phone

Note, this is VERY kludgy, and will probably break every time OSX updates itself, but it works. I can finally stop rebooting every time I want to work on the phone! :D