Tuesday, October 30, 2012

Giving Android a Chance...

It has been about six weeks since I have posted anything - and even longer than that since I posted non-Bodhi related content. I'm currently working through my final semester of graduate school and what little time I have extra has been going towards working on Bodhi things of the late.

Today however, I am bothered enough by something to share my feelings about it. If you have been by my blog here before then you might know that I am not a fan of Google's Android operating system. In fact in the past I have written why I feel it is removed from other Linux operating systems. As of the Linux 3.3 series kernel though a pile of the Android changes where merged back into the main line kernel.

Because of this re-merging and the fact that it had been sometime since I last tried Android in any form I felt I should give it another chance. I know a good amount of people that tout it's virtues and would not use anything else on their mobile devices. The recent death of the computer I'd been using as a media PC for the last three years sent me searching for a new toy. The combination of my wanting to try a recent Android release and the need to replace my media PC lead me to pick up a MK802 Android PC.

I got my little device in the mail today. I ripped open the box, plugged in all the cables and soon had Android booting on my TV! I have three needs from a media PC:
  1. Light Web Browsing
  2. Pandora Internet Radio
  3. Play Media from my External Hard Drive
The MK802 did the first two with ease - the web browser loaded right up and I was soon viewing the Bodhi forums without issues. To take care of my second need, I popped open the Google Play store and installed the Pandora application. 

The issues started when I attempted to play some media files from my external hard drive. I plugged in my drive to the USB port and popped open the file manager - I poked around in all the options but the drive was nowhere to be found. Then I noticed a notification in the lower right corner of the screen, it read:

Damaged USB Storage - You may have to reformat it.

I'd never seen this message on a system powered by a Linux kernel before. I'd seen it a couple of times when friends had tried using my external on their Windows or OSX PCs. My drive is formatted to EXT4 you see. Apparently this file system isn't support on my Android device. That is right, this "Linux" PC doesn't support my Linux file system.

The solution to this issue? I've been told I need to compile a custom kernel module to add ext4 support. If I am going to spend that much effort getting Android to work I would rather devote that effort towards getting Debian to boot on the MK802 instead. So much for Android being easy.

~Jeff Hoogland

24 comments:

  1. Uhh: mkfs.vfat -n "My Stuff" /dev/sdb1

    ReplyDelete
    Replies
    1. External drive contains over 1TB worth of data including files over 4GB in size. So even if I did have extra media to back things up onto - a vfat file system is not an option.

      Delete
    2. You have the same problem sharing files with Windows or MacOS using EXT4. I don't think it is really fair to blame Android for this problem.

      Delete
    3. You are correct. I was wrong in my assumption that the Linux based Android would support a common Linux file system.

      I will be starting work on getting Debian on the device shortly so I can have a sane operating system.

      Delete
    4. Well, you have to remember that the kernel is compiled for the mass market and to be really light on embedded devices. It wasn't built for the things you are trying to use it for. That said, as you progress towards getting Debian working on the device you will find yourself running into similar constraints and having to make similar sacrifices. :)

      Delete
    5. I'm aware - but I'd much rather make sacrifices for a full blow Linux OS rather than a crippled operating system.

      Delete
    6. Hmm I'm struggling to make sense of the comment. You'd rather sacrifice for a full blown Linux OS rather than a crippled operating system? It sounds like you are willing to cut vfat (which is a significant amount of the non-reformatted USB devices on the market today) so you can use EXT4 formatted devices? That sounds like you are self limiting your target demographic to Linux users.

      Ultimately you are creating the same problem that you aim to be solving, just opposite of the rest of the market. ;)

      Delete
    7. Herr Wyatt,

      All Linux versions already support multiple OS and Linux File systems. For 15+ years, Linux has supported vfat16/32 and NTFS read, and since 5+ years, NTFS write.

      In other words, using a windows or apple desktop OS is using an OS that by philosophy, is not designed to inter-operate with other OS's.

      When Jeff figures out how to set up Debian, he'll have both power and flexibility. No need to compromise.

      Delete
  2. You could give XBMC ago and play your media over samba.

    http://forum.xda-developers.com/showthread.php?t=1813089

    ReplyDelete
  3. Hi Jeff, I have your blog in my feeds, but this is the first time I actually reply =)

    3 things come to my mind:
    * Android is's designed for cell phones and tables, not for mediaPC. The fact that can be ALSO be used for that is great, but is not part of it's original desing
    * I think it's possible to 'convert' ext4 to ext3
    * There is a file browser called 'ES File Browser', it can browse files using samba, ftp or even dropbox. Maybe you can attach your external to you desktop, share it via samba or ftp and access from android

    cheers

    ReplyDelete
  4. Out of curiosity, what OS do you have on your phone?

    ReplyDelete
  5. I all fairness... I too have a MK802 and as far as Android goes. This scrapping the bottom of the barrel. There are more powerfull devices out there some even with esata I hear.

    Maybe gives this another go when these USB Android sticks are more inline with the current hardware options available

    ReplyDelete
  6. Hi!

    Ext4 works on my HTC Desire. From what I have gathered every phone has its own Linux kernel with different drivers/modules compiled.

    Did you try ext3 or ext2 for your media drive? There might be support for these file systems.

    Anyway, I received my Mk802 yesterday, after waiting for a month, and I'm gonna try XBMC later today. :) Hope it works...

    ReplyDelete
    Replies
    1. Got a link for the XBMC image for the MK802?

      Delete
  7. Perhaps you could try a cyanogenmod variant of Android:

    http://www.rikomagic.co.uk/forum/viewtopic.php?f=2&t=161

    I have no idea why they actively disabled Ext4 support on that device in the stock Android. It is not like it "costs" anything in terms of licenses or memory use.

    My general feeling is that Android does very well on resource constrained devices and the XBMC is comming natively for Android:
    http://xbmc.org/theuni/2012/07/13/xbmc-for-android/

    I am thinking about an Ouya whenever they are available.

    ReplyDelete
  8. On my android device, I use mythtvfrontend that connects to my pc using mythtv and can watch any recording, live tv, or movies that are stored on over 5 tbs of harddrive space. I don't use the Mk802, but my android phone & tablet all work fine as media centers along with mythtv

    ReplyDelete
  9. Also, I see images for Fedora and Ubuntu on their site. I would almost prefer a full Linux on a device I plan to use as desktop. Android is great, but I am not sure I want a Desktop Android anytime soon. ;-)

    ReplyDelete
  10. I very much agree with Jeff and think that Google should give back something to the community in the form of not-creating avoidable incompatibilities with Android.

    They should have included ext4 support in the Android kernel.

    ReplyDelete
  11. I bought UG802 and I think it is ok as media solution.
    http://tietsikka.blogspot.fi/2012/10/ug802-kayttokokemuksia.html

    Most chinese sticks have rockchip.

    ReplyDelete
  12. I feel that your anger at Google and Android is a little misplaced in this situation. You should think of Google's Android more of like Debian, many companies use it as a base with their own modifications and decisions. Just because the Android re-spin that came with the device doesn't support ext4 doesn't mean that Google or the Android environment is made that decision or is to blame for it. Its like getting mad at Debian because Canonical used Unity in Ubuntu. Also, for the record, my phone supports ext4 out of the box, the Android kernel defiantly supports it.

    ReplyDelete
  13. I don't get it!
    Doesn't android uses ext4 anyway?
    http://arstechnica.com/information-technology/2010/12/ext4-filesystem-hits-android-no-need-to-fear-data-loss/

    So how can't it recognize it?

    ReplyDelete
  14. My phone supports EXT4 and I'm running gingerbread... my microsd card is in ext4... it sounds like whoever built the version of android you got stuck with, screwed up

    ReplyDelete
  15. Personally, I just wish that I could plug in my latest-and-greatest Android device (Nexus 7 with 4.2) to my Linux computer and have it connect without a bunch of hacks. You know, like it does with Windows machines. Supposedly you can even download a patch for Macs so it will connect to them.

    For a company that has Linux so heavily embedded in their systems, they seem to care very little about the Linux community. They can't even be bothered to make a Google Drive app.

    ReplyDelete