Disappointing Odroid C1+

This is a very short posting. Basically, I’ve got a new Odroid C1+, this is the hardware that’s been out a few years and had several improvements so everything ought to be working on it.

It can’t run my monitor.

This is the same monitor that the C2 and the XU4 run Just Fine. But the C1+ doesn’t like it.

So I can tell it boots up and runs. The blue light blinks (indicating kernel loaded and running) and my router shows it assigned an IP number. But the screen is entirely black the whole time.

Now you MIGHT think this meant the board was defective…

http://odroid.us/mediawiki/index.php?title=Troubleshooting

Indicates this is an expected behaviour. In other words, they know it’s broken (clearly it isn’t the DVI adapter since the C2, XU4, and my half dozen Raspberry Pi boards work with it fine) but either they can’t, or won’t, fix it. Likely something to do with attempted copy protection issues from some binary blob loaded with the processor, if I were to hazard a guess.

Is it too harsh to call this “broken” instead of “vendor dependency” IF a CPU binary blob is the cause? Not in my opinion. Folks who build things are responsible for their design choices and that includes software limitations imposed by vendors.

My Device boots (The alive led blinks), but it doesn’t show anything on the display

You can see your device on your routers webpage as a DHCP client?

Good! Your device works so far, but your display fails displaying the signal.
HDMI => DVI adapter

some (most?) adapters are known to make problems, because of the output that the exynos produces. please try an HDMI Cable

Unfortunately, my HDMI cable goes to my DVI Monitor, so taking the HDMI – DVI adapter out means the cable can’t connect to the monitor at all…

So, note to self: C1+ can ONLY be used with an actual HDMI device, and in my present shop that’s only my bedroom TV. So I’ll be able to move all my kit from the office to the bedroom and configure it enough to run headless. That’s ALL it can do until and unless I buy a new monitor. Now what are the odds I’ll pop $200+ for a monitor to run a $37 board, eh?

Now that link comment about “exynos produces” is an odd one, since the C1+ doesn’t have that processor, while the XU4 that works does and C2 that also works, has a processor related to the C1 (Amlogic family).

https://en.wikipedia.org/wiki/Comparison_of_single-board_computers

ODROID-C1/C1+ Amlogic S805
ODROID-C2 Amlogic S905
ODROID-XU4[54] Samsung Exynos 5 Octa (5422)

So what’s REALLY causing it to not play well with HDMI-DVI? Well, something in the chipset or design that is NOT broken in the XU4 and C2 families, that’s what.

In related issues:

The case I bought with it “has issues”.

This is whatever case Ameridroid sells by default. Part #0070A for clear. It has Odroid embossed in the plastic, but I don’t know who makes it. NOTE: I have been VERY satisfied with Ameridroid. Prices are good. Products are as advertized. Shipments arrive FAST. (My ‘several day slow USPS’ order on Friday arrived Monday). I don’t think any of this is their issue. I’m a very happy customer of theirs. But they ought to offer an improved case option.

This case has “break out tabs” over all the major access places. eMMC, SD Card, GPIO pins. Unfortunately, these don’t break out (or at least at the point where I was sure the case was going to break elsewhere, they still were not letting go…) This seems to be due to them being critical to case stability (I think if all of them are removed, it’s not going to stay rigid enough to work right…)

Also, the GPIO cover portion has one of two “plastic clips” holding that side of the case closed. These are impossible to open by squeezing or pressing or twisting or “whatever” near as I can tell (I had to reach inside with a small flatblade screwdriver to gently pry them loose enough to open the case). So once it is removed, only one clip holds that side together.

Now if you leave them all in, there isn’t enough ventilation, so I wanted to remove the GPIO slot and give nice ‘side then up’ air flow. Many minutes of careful work with diagonal cutters and some flexing and I got the tab for that, and for the micro-SD card, removed. This leaves rough / sharp bits where the tabs were cut. Having a micro saw and file would help…

The board is held to the bottom with 2 microscopic screws on one side. (There are no directions, BTW…) The other two holes look like they would take 2 more screws, but they don’t have the threads engage the plastic. HOWEVER, once the top is on, you can put those 2 screws in ‘the other way’… through those oversized holes from the bottom and into the top case. So one side is held on by 2 screws from the bottom while the other side is held on by one flimsy clip you can’t open easily. I have one micro-screw left over. I hope it was a thoughtful spare…

Yeah, it works after a fashion. Not buying another one though…
Good enough for The Farm Pile, I guess.

Note to Self: Only put the C1+ or C2 in Dogbone Cases or some other make of plastic case.

In Conclusion

Well, always looking for silver linings… this does simplify my decision tree. The C1 MUST run headless in my present shop as I have no monitor it can drive. Hopefully I can get some OS I like “well enough” running on it and put it over in “The Farm” of servers and leave it ignored for a year or two until I “someday” get a new monitor. That means it will most likely just get a Generic Armbian image on it and take over the Disk Farm duties of the Orange Pi One. Since I’ve gotten Armbian to upshift to Devuan, I’m going to try that on the Orange Pi One and see if it is happy as a light weight Daily Driver type system with LXDE. Essentially swapping the two intended roles of those two boards.

Yeah, it’s way too much processor for that job alone. MAYBE, after it has sat for a month or two being “Servant To Disks” I’ll think of something else to put on it too. Perhaps the IDS system… Whatever can be conveniently run headless…

Just to document it for future reference, I’m quoting the rest of that “Troubleshooting Guide” below:

Troubleshooting
Contents

1 ODROID-U/U2
1.1 My Device does not boot
1.1.1 Remove the plastic of the emmc/sd slot
1.1.2 Check your Boot device
1.1.3 Press the SD Card Slot
1.2 My Device boots (The alive led blinks), but it doesnt show anything on the display
1.2.1 HDMI => DVI adapter
1.2.2 HDMI without adapter
1.2.3 Change standard Resolution
1.3 USB Harddrive does not work

ODROID-U/U2
My Device does not boot

Does the Power led light up?

if yes, continue with Check your Boot device

if no, replace your power supply.
Remove the plastic of the emmc/sd slot

Check whether there is plastic tape on/in the sd or emmc slot and remove it
Check your Boot device

Read this for correctly flashing your boot device: Step-by-step Ubuntu SD Card Setup

If your device still doesnt work try to zero your boot device (dd if=/dev/zero of=/dev/sdx or flashnul)
Press the SD Card Slot

Still having problems and using an SD Card?

Press on the SD Slot when powering your U/U2
My Device boots (The alive led blinks), but it doesnt show anything on the display

You can see your device on your routers webpage as a DHCP client?

Good! Your device works so far, but your display fails displaying the signal.
HDMI => DVI adapter

some (most?) adapters are known to make problems, because of the output that the exynos produces. please try an HDMI Cable
HDMI without adapter

if you get no output but you are using HDMI then your monitor or tv does not support “real” HDMI, it has converters internal for HDMI => DVI or HDMI => DVI => VGA which is most likely to fail for the signal the odroids (SoC) produce
Change standard Resolution

Here are 3 boot scriptor files to change HDMI resolution for ODROID-U2.

boot.scr-hdmi720.lcd720.scr

boot.scr-hdmi1080.lcd1080.scr

boot.scr-hdmi1080.lcd720.scr

hdmi720 means the phy of HDMI will be set to 720p.

hdmi1080 means the phy of HDMI will be set to 1080p.

lcd720 means the native resolution will be set to 720p.

lcd1080 means the native resolution will be set to 1080p.

Choose one of three files and rename it to boot.scr.

And copy the file(boot.scr) into the FAT partition of your storage and reboot.

display settings.zip
USB Harddrive does not work

Please make sure that your usb drive doesnt use more than 500mA, if it uses more then this it will most likely not work because the ODROID devices have a protection circuit for this.

If you can, always power the usb drive by an external power source. A powered USB Hub is an easy way to feed power to the usb drive.

Subscribe to feed

Advertisements

About E.M.Smith

A technical managerial sort interested in things from Stonehenge to computer science. My present "hot buttons' are the mythology of Climate Change and ancient metrology; but things change...
This entry was posted in Tech Bits and tagged , , , , . Bookmark the permalink.

14 Responses to Disappointing Odroid C1+

  1. E.M.Smith says:

    Well, it works with the TV.

    At least now I can update the OS and configure it for headless operation. Long wire to the office ethernet and all…

  2. E.M.Smith says:

    A few hours of updates upgrades installs later… I’m posting this from the C1+ using my Toshiba HDTV for a very large screen…

    So the good news, it all works. Even plays YouTubes with good sound.

    The not so good? It pegs 4 cores at 480p and on “Poker Face” the video is stilted with jumps as it tries to catch with new frames when it hasn’t decoded all the last ones.

    I’ll try that again some day with a different OS build. (Odrobian tries to do more GPU decoding and video acceleration tricks while Armbian – that I’m running now – is more oriented toward efficient CPU use for developers of embedded systems.)

    As it stands, with Armbian, it isn’t acceptable as a Youtube Player unless you are OK with jerky skips in the video…

    So this one goes to the Dogbone Stack as the 4th board. Checking on Ameridroid, they have the same case numbers for the C1 and C2, so I’m going to put the C2 in this case for “desktop playing in 64 bits”. Why? It’s easier to swap SD cards than in the dogbone case…

    OK, back to work ;-)

    Well, almost: Given the video performance probable, I was figuring this to end up headless anyway. With GUI and browser launched, it’s taking 392 MB memory, so very efficient. CPU is running about 30% spread fairly evenly across all cores, so the Armbian folks have done a good job making things thread well.

    So now back to work ;-0

  3. jim2 says:

    I don’t know from experience, but read that there is a difference between a HDMI=>DVI adapter cable and a HDMI=>DVI CONVERTER cable. Also, apparently there are three different manifestations of DVI. Since there is a way to activate the GPU with a HDMI emulator, there might be a way to mod the cable to make the box think it’s connected to an HDMI device.

    U prolly already know all this, but just in case.

    https://www.amazon.com/CompuLab-fit-Headless-Display-Emulator/dp/B00FLZXGJ6/ref=sr_1_1?ie=UTF8&qid=1503446378&sr=8-1&keywords=hdmi+headless

  4. E.M.Smith says:

    Well, I’ve now got the C1+ mounted in the Dogbone Case with the two other distcc slave boards. It is known to run and is an armhf v7 board, so compatible. Now I just need to assure the libraries et. al. are about right… All are Debian based, so at most I’d need to make it an ArmDevuan to match. An uplift known to work already… So I think it’s “good to go” with configuration left for “whenever needed”.

    Also, with the C2 in the so-so case, it can now sit on my desktop where it’s easy to swap chips and make go. I’m using it at the moment and browser performance is fine. (Opening a video heavy ‘tips’ pegged all 4 of the 64 bit cores for a few seconds, then it dropped down to one or sometimes 2 pegged, as the videos filled images. Acceptable.) So I’ve decided it is going to be my “Dirty Driver” for now. A very cut down version of my home directory to go on a damn fast USB-3 stick I’ve got and everything ready to ‘reset’ as desired from the Archives.

    That leaves a minor “horse race” between the Pi.M3 as my major Interior Daily Driver, and the XU4, should I find a mix I like OK on the OS side… but for now, PiM3 by default and XU4 as tech playground, more or less. Until that’s settled, I also need to cook a pristine chip for the Financial Boot. I’ll just make one of the PiM3 copies be it. I’ve got intermediate steps from the creation of different uses and one of them ought to be fine. Maybe I’ll do that tonight.

    Well, despite the grousing and annoyances, things are better now than last week. More things settled and “in a place”. Isolation between inside and outside established for day to day things too.

    Only real “tech play” to do is fine tuning the Dirty Driver OS / home directory some (workable already as is) and settling the interior Daily Driver roles / hardware – that can be done anytime and on a ‘slow boat’ basis.

    Since the only thing I need on the Dirty Driver is the browser, and it works, that some 64 bit applications are not stable yet doesn’t matter. I did find a Debian Hybrid 64 bit kernel 32 bit userland that was interesting. By doing something like:

    apt-get install chromium:armhf
    

    it would install the 32 bit application with 32 bit libraries and all. Maybe in a couple of weeks I’ll brew up a chip with that OS on it and see what I think of it…

    With that, time to stop the tech stuff and go look at what to make for dinner…

  5. E.M.Smith says:

    @Jim2:

    I’m a relative nooby to things HDMI. For now, I’m happy to just run it headless. It’s not ‘snappy’ enough driving the TV to be a video oriented desktop anyway.

    I’m also not fond of buying all 2 x 3 combinations of things until you find the one that works, or that none of them work… so I’m just going to stay as-is on my monitor until “someday” I buy a 20″ or so monitor / TV. I’m happy to watch videos on the TV with the Chrombox or on my tablet for portability. The office chair is hard wood and not as comfortable as the bed or couch for a couple of hours of video ;-)

    So ‘nice to know’ there may be a technical fix. I’m happy just doing an operational one ;-)

  6. Anonymouse says:

    Had the same issues with a bbb, would NOT do more than get about a half screen of video on the monitor no matter what I did, what cables I used. Trashed it, got too many other things that just work.

    These days I just want to get things done that I want to do rather than hassling with half-arsed problem boards.

    Binary blobs are killers…

  7. E.M.Smith says:

    “bbb”? BlackBerry Bold? Big Bad Board?

    Unfortunately, due to Media Company Pressures, our computers are being infested with “signed binary blobs” to prevent us from using them unless in conformance with what someone ELSE thinks is legitimate. Oh Well. I’m sure folks in China will continue to just work around and past such things…

    They have been trying since at least the DVD Crack (1990s?) to stop folks from breaking copy protection, and all they’ve done is make it harder to get normal things to work right.

    The only really good bit is that I have lots of things that I need to run ‘headless’ so as long as I can get an OS installed and network login going, I can find a use for such boards. I have a ‘style’ set about 1985, that has services split onto different platforms. That way, any box takes a hit, only that service goes down, not the whole shop, and a replacement is just a boot away. (So if my Pi DNS server goes belly up, I just boot the copy chip in a second board and I’m back up in about 5 minutes.)

    Only single point of failure is the Telco Router, and even there I put together a Wireless Bypass in one day (much of it spent driving to T-Mobile and buying the gizmo… )

    Services I’m Building / have Built:

    DNS with adblocking and site / IP range grounding.
    Intrusion Detection & Prevention
    NAS – file service & site scraper
    “Dirty Driver” exterior use only browser station
    “Daily Driver” internal use only workstation
    “Financial Only” special services chip to boot in the browser station as needed.
    Build Monster Cluster – already tested with distcc, need to integrate the C1 “someday”
    Climate Model Cluster – same stack as the B.Monster I hope.

    At present I’ve been using the “Headend” chip of the B.Monster Cluster as my Daily Driver in the Pi M3, but as of yesterday, I split out the “Dirty Driver” functions and made a cut down home directory for it. Now just need to purge my internal workstation history from it and get it back to being just the Headend… The Orange Pi is doing a fine job as NAS / Scraper, and the Pi B+ has been doing the DNS thing for a few years now. The IDS was started, but not on any devoted board yet and needs more configuration, and I haven’t made the Financial Chip yet (but don’t need it for a while…) The Climate models are a bit of a bear to get running. Too many configuration and input files not in the public release… Like saying “I released all my cooking method” when all you really did was list your ingredients & pots and pans, not the recipes.

    Then there’s a half dozen other “nice to have someday” things on the “todo Maybe” list:

    A PXE boot server. Built one, but the target PCs died before I went ‘production’ with it and I’ve not cared about PXE booting the Pi boards yet…

    My own WiFi router / access point. Did it on the fly to use the T-Mobile, but I’d like a more formal build. The Netgear is working fine, but I’d like to not have “someone else’s code” speaking WiFi to the world… especially since we now know TLAs (Three Letter Agencies) are busy putting vendor supplied back doors into our equipment…

    A Portable World box: In a lunch bucket, put my own kit of WiFi router, IDS, DNS, etc. such that in places like StarBucks, IT connects to their WiFi and my laptop only connects to IT. Putting a nice security wall between me and everyone inside the cafe…

    VPN server so I can connect to the “inside the house not the office” network from remote. Coupled with the Portable World, that lets me “originate” from home while on the road… Helping to mask when I’m out of town… also lets my traffic be encrypted from laptop to known clean location before being unmasked.

    And a few more ideas kicking around…

    Yeah, I can use some more headless boards IFF I happen to get some by surprise…

    But all this is going slowly. I get a few hours a day on it every few days. You can tell when I get to work on it as put up “how I did it” postings ;-)

  8. E.M.Smith says:

    Strange… Not on the C1+, but on the Odroid XU4…

    The Odrobian port works well, but it’s the one with the older kernel (so fsck issues with disks from newer systems) and it does some interesting things with using the video cores to do some computes. BUT… If you grab a panel and “wiggle it around”, it has a lot of lag in it. Something in X windows is just not using the 8 cores + Video HW very well at all… I saw similar behavior with an Armbian that I’d uplifted to Devuan. Figured the “uplift” caused it, now I’m wondering if I just didn’t notice in plain Armbian…

    Also, restoring some of the saved system images to the 8 GB SD card would not boot. I’m not sure why, but added conv=fsync to the dd command and the next copy did work…

           fdatasync
                  physically write output file data before finishing
    
           fsync  likewise, but also write metadata
    

    so:

    dd bs=10M conv=fsync of=/dev/sdx if=System_Image_Name

    Don’t know if that was it, or the fact that I was loading a different image…

    I need to try some more generic OS image on the XU4 and see if that odd lagging video bit continues.

  9. E.M.Smith says:

    Well, I’m running generic Armbian Next on the XU4 and it is behaving nicely. No lag when grabbing and wiggling windows. No excessive CPU use while doing nothing. Boots in seconds. 390 MB memory used with the browser launched…

    UPDATE: I spoke too soon… The lag on window dragging and such IS happening… now that I’ve launched an install of libreoffice… OTOH, on lesser CPUs the whole system would be doggy. Here it is just flying along on the install, while I’m using the browser just dandy… It seems only the ‘drag a window’ does something that gets bogged down. Interrupts maybe? Well, what ever it is, it’s here too. So no real difference from the ArmbDevuan… maybe I’ll go with that Devuan “uplift” after all…

    I’m going to use it this way “for a while” and see what I think of it. Eventually the “uplift” to Devuan will not mess with window movement efficiency and then I’ll convert it to a Devuan. For now, as a place to play around with high performance small systems, it’s fine. Just being a very new board with a new and different architecture to it (the Big / Little 2 different CPUs mixed AND a video core usable for computes) the choice of OS Release matters more than usual. (Oh, and the 4.9 kernel so the changed file system journal isn’t an issue… they really ought to have named it ext5 when making an incompatible change to ext4…)

  10. E.M.Smith says:

    Hmmm…. the ‘lag and shimmy’ only happens on the FireFox window. Most of the screen, lots of text and stuff. I wonder if this might be a video memory thing, or a GPU limit on moving large areas of the screen around fast… But even with the Firefox window open, ‘wiggling’ a terminal window is fine… So I guess I just need to not wiggle FireFox windows much ;-)

  11. jim2 says:

    I wish I had the time, and knowledge, to set up a similar system. Looks cool :) This is like a physical implementation of QUBES.

  12. Wiggy says:

    “This is a very short posting. ”

    LOL

  13. E.M.Smith says:

    @Wiggy:

    Hey, it’s only about 2 pages and a quote. For me, that IS short! ;-)

    @Jim2:

    Yup

    https://www.qubes-os.org/intro/

    They use a hardware layer hypervisor VM which is pretty good. Their complaints about dedicated hardware OS separation is a bit lame. The Pi class SBC makes the cost irrelevant, for example. And yes, air gap spanning mal-ware does exist, but a tiny bit of care can block it. Just don’t download shit on an internet machine onto a USB drive and run it on the secure side! Frankly, if you are moving a lot of stuff between the two sides, you already are doing it wrong…

    You can get quite good security just out of using chroot. We used it to divide “My Cray” into ultra-secure project side and general engineering use side. No problems over several years. I’d not depend on it for a directly internet connected machine, but some folks do. At some point I’m likely to try it on my internal network side.

    From my POV, why take all the resource waste and complexity of VMs when you can just have a real OS on real hardware at full efficiency? I can power up any given device and disk only when I need to use it for its designated service. It can’t be compromised when it is off and disconnected. Furthermore, I’m about 2 minutes to swap micro-SD cards in any given system, so I can have dozens of entirely secure (out of computer in a safe box) cards with special purpose builds on them. IF any chip is compromised, I just grab the last known good from the archive, clone it, and reboot.

    My biggest problem so far: I’m up to about 34 system images and I’m starting to lose track of which is a what for who… So a “soon” project will be to prune some of them into “not in service” deep archive / history. I’m pretty much settled on a Debian -> Devuan or Armbian -> Devuan process, so I’m not seeing much reason to keep the 20+ some images based on other OS types or on SystemD infested builds. (Am I ever, really, going to run Fedora or Ubuntu with SystemD on them? Um, no. And I ever, really, going to use my old x86 boxes that are slower than the Odroids running 15 year old builds? Um, no. Am I ever going to run Puppy or Ubuntu on my only Pi B+ that is dedicated to Alpine as a DNS Server? Um, no.) So a lot of pruning could be done… OTOH, it’s damn cheap to just ignore a few hundred GB of disk space on a 2 TB archive that cost me about $60. So pennys worth of space.

    Per time & money:

    Well, the “cost to start” is just one SBC and whatever peripherals you want on it. That’s about $50. As per time, well, I’m doing most of the ‘wander in the desert’ time suck stuff so you won’t need to. Actual build time / system is about 2 hours even if not fast at it. (That’s why you see me talking about so many system builds… it takes about the same time as cooking dinner one night.)

    So you can just pick on bit that interests you and build just that part. Leaving everything else in your shop ‘as is’. For example, making a “dirty driver” for wandering random internet places can be as simple as a single SBC with one mini-SD card. Install a basic OS with browser and you are done. Easy project for one evening and under $50. Then you have that service for years. Some months later, you can take on a DNS server or a NAS / File Server. Just one at a time as money and interest arrives.

    Heck, I’ve been doing this since the Pi B+ was new and I’m not done yet ;-) Averaging about a buy of one SBC (Pi, Orange, Odroid) per year. I spend as much on Starbucks in a month as I spend on SBCs in a year…

  14. E.M.Smith says:

    Oh, and per “knowledge”:

    The Pi “high concept” is as a learning platform. Just start with a Pi M3 and go from there. Its whole reason for being is to let you learn what you need to know. They have pretty good tutorials on a lot of stuff. Knowing nearly nothing, you can be up and running in a day. Then as time permits, learn little bits.

Anything to say?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s