Mosh, Putty, and Cygwin (with a side of Cygputty)

After reading about Mosh (Mobile Shell) I had to give it a try.  This is truly SSH for the modern age.  Connections STAY connected even when your IP changes, or you roam from network to network.  You can put your laptop to sleep while connected, carry it to work, open it up, and the connection is still live.  Amazing!

  1. Mosh on the server(s)
    • This part is easy.   Follow the instructions from the Mosh site for your distro.  Since I’m running Ubuntu 12.04 it was as easy as “sudo apt-get install mosh” but it will vary from distro to distro.
    • You may have to open some holes in your firewall – I had to do a “sudo ufw allow proto udp to any port 60000:61000” to let Ubuntu listen on the req’d ports. 
    • You’ll also need SSH access to your server, as the initial authentication + initialization of the Mosh session is handled via SSH.
  2. Cygwin
    • Also Easy.  Download the setup.exe from Cygwin, and run it.  There are a few extra packages you’ll need in order to compile Mosh for Windows, so make sure you select:
      • make
      • boost
      • libncurses-devel
      • pkg-config
      • and perl
  3. Mosh for Cygwin
    • This bit requires some compiling, but don’t be nervous.  Step by step instructions are at Gisthub.  We’ve done steps 1+2 already, so start from 3.
  4. Putty (Or Kitty!)
    • Download and install Putty, or Kitty if you prefer.  Kitty is a fork of the most recent Putty with a bunch of new features – like transparency settings for the windows.
  5. PuttyCyg Plugin
    • If you use Putty then grab this, or if you’re on Kitty then grab this.  Extract it in the same folder as the Putty/Kitty executable.
  6. Putty profiles
    • Last stretch!  There are a few things you need to do here.
      1. First, you’ll need to add c:\cygwin\usr\local\bin\ and c:\cygwin\bin to your path. 
        1. Open the start menu
        2. right click on Computer
        3. Click Advanced System Settings
        4. Click the Environment Variables button on the Advanced tab
        5. Under System Variables select “Path” and add “;c:\cygwin\usr\local\bin\;c:\cygwin\bin” to the end.  MAKE SURE YOU DON’T DELETE ANY THING – JUST ADD THE CYGWIN PATHS TO THE END
      2. Now, open Putty/Kitty. 
      3. Select PuttyCyg as the connection type
      4. enter “mosh server.domain.com” as the command – where server.domain.com is the host you want to connect to.
      5. Hit Open
  7. You’re now connected via Most to your host thru Putty/Kitty!  Yay!  SSH that’ll stay connected no matter how you move about from IP to IP.

ADB Source Code

Here’s the source for the version of ADB that works in Linux. I don’t think I made any major changes to it – I was trying to make it work properly in OSX when I still thought the problemdetailed here was an issue with ADB. It turned out to have more to do with LG, but I’d fumbled around a little in the ADB code trying to make it work initially, and this version seems to work in Linux with the new firmware. I suspect that what’s actually going on is that the version of ADB distributed in the SDK is older than the one distributed with the AOSP, and the AOSP version just works, but here’s the source regardless. 🙂

Android 1.6 Apps2SD+SSHD

Update: Something seems to have gone horribly wrong with the first image. Give this one a try instead. A few people have confirmed that it works.  It’s a slightly smaller repack of the same image – I reduced the size by removing a few of the apps I’d crammed in to /system/app, so you’ll have to install Facebook and Google Sky yourself now. 😉

Well, Rogers/LG is being brutally slow releasing the 1.6 update.  There is already a Korean update for the KH5200 that mostly works on the GW620, so I spent some time today making it run as smooth as possible.  I currently have an image that is working well, but you have to manually config the APN after installing or there’s no 3G connectivity.

The image is as done as it’s going to get tonight.  Don’t get it here!  Make sure to read the Known issues while it’s downloading – there are some things you need to do to make the image work properly.

The status so far:

  • Running well on 1.6
  • 3G works after manual APN setup
  • Rooted with SuperUser APK
  • Bash/nano/busybox/terminfo available
  • Made the required mods to the initrd to enable tolemaC’s Apps2SD method
  • tolesetup works
  • Cleaned up most of the cruft from the Korean image (e.g. Maple Story, Seoul Subway map, etc)
  • Added upgraded Google maps + Google Nav to the system.img so it doesn’t take valuable userdata space
  • Added a bunch of apps and utilities to the remaining free space on the system.img.  It’s now packed to the brim with goodness.
  • Set the init.rd to mount the /system partition as read/write.  No more “adb remount” to make changes
  • Included the excellent TagLauncher home screen.  It’s free, and it rocks!
  • SSHD out of the box!  Now you can ssh to your phone.  Login as with “gw620” for the username and password.  You can change the user/pass by editing the /system/bin/rundropbear file.
  • Lots of other little things

ToDo:

  • Get the APN auto-configured
  • See if I can remove the obnoxious password from the “Enable Root” menu

Known Issues:

  • Google Goggles crashes after taking a pic
  • First boots in Korean.  You need to hit “next” at the bottom, and then select English.
  • Will definitely require a wipe of userdata or factory reset before installing.   Go in to the hidden menu and do a factory reset, OR when you boot up in fastboot mode to burn the image do a “fastboot –w”
  • You need to manually add the APN before data connectivity will work.  To add the APN follow these instructions:
    1. Install the image (duh)  😉
    2. boot up, and go to the dialer
    3. enter 3845#*5200# to enter the hidden menu
    4. Click on Module Test
    5. Click on Stability Test
    6. Click on Enable Root
    7. Enter the password “eve&adam&&620love!”
    8. reboot the phone
    9. open a command prompt on your computer
    10. “adb shell am start -a android.settings.APN_SETTINGS”
    11. The APN config will open on the phone.
    12. Click “New APN”
    13. Enter the APN info.  For Rogers, just set the name as “Rogers” and the APN as “internet.com” and leave everything else as default.  Other carriers will have to look online to get their APN settings.
    14. That’s it.  Data should now work.  🙂

Thanks to tolemaC for his excellent work on the tolesetup utility, which I’ve blatantly ripped from his most excellent 1.5 image.

Thanks to everyone that has hit that little donate button too, and to everyone who’s sent encouraging words and suggestions.  🙂

ADB for the LG Eve’s 1.6 Image in Linux

ADB mysteriously stopped working in Linux for the 1.6 version of Android on the LG Eve. Here’s an adb that should work on the new image. As always, let me know if you have any problems!

MythTV Media Centers coming soon!

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!!!