I could not find USB hub with DC power and never seen OTG USB cable at
local shop .
I did solder a little jumper at usb pint 5-Gnd at beagleboard and
make a DC USB injector myself.
see the picture at
http://developer.embes.com/blog/wp-content/uploads/2008/08/09082008007.jpg
this will isolate DC from USB hub to OTG. My 1.1 USB hub not work
with beagle, I have to buy a new one.
http://developer.embes.com/blog/wp-content/uploads/2008/08/09082008004.jpg
Internet connection using GPRS on /dev/ttyACM0 (Nokia cell phone at
USB port) woks well, I
will try Bluetooth on /dev/ttyBTx another day.
Hope will help another newbie like me.
Nathanan.
2008/8/7 <johnb...@yahoo.com>:
This is not a beagleboard specific question, but, if anyone knows, any
experience is appricated.
One of my projects for beagle will
have it running constantly for literally years. It probably
won't be changed hardware wise for 5+ years, and only minor software
changes during that time.
Part of its job will be to collect
statistics, via log files, etc. Periodically (daily) it will send
the collected data, and simple analysis reports to an email
server. My inital thought is to have the rootfs on a SD
card. Does anyone have experience or a reaction to using the SD card
as a rootfs that is being used actively to store and cleanup data (as
opposed to mostly read-only)? Will I run into a wear out
issue? There's no easy way to tell if the internal wear leveling of
the SD card is working well or not. Maybe a "larger"
SD card will last longer (if wear leveling actually works inside the sd
card)? I'm only generating 2 to 4 MegaBytes of data
daily.
Any insights are appricated.
Kevin
> This is not a beagleboard specific question, but, if anyone knows, any
> experience is appricated.
>
> One of my projects for beagle will
> have it running constantly for literally years. It probably
> won't be changed hardware wise for 5+ years, and only minor software
> changes during that time.
The OMAP3530 chip is rated for 100k power-on hours (~11 years), which
drops to 50k hours if running at full speed/voltage.
> Part of its job will be to collect
> statistics, via log files, etc. Periodically (daily) it will send
> the collected data, and simple analysis reports to an email
> server. My inital thought is to have the rootfs on a SD
> card. Does anyone have experience or a reaction to using the SD card
> as a rootfs that is being used actively to store and cleanup data (as
> opposed to mostly read-only)? Will I run into a wear out
> issue? There's no easy way to tell if the internal wear leveling of
> the SD card is working well or not. Maybe a "larger"
> SD card will last longer (if wear leveling actually works inside the sd
> card)? I'm only generating 2 to 4 MegaBytes of data
> daily.
Modern flash memory is typically rated for 100k erase/write cycles per
block. If you could spread the writes evenly, writing 4 MB per day to
a 4GB card would write each block every 1k days, or roughly 3 years.
The question is whether something causes frequent writes to some
block. I wouldn't trust the built-in wear levelling to work
perfectly, mostly since I have no idea how it actually works.
If your logs are the only things being written regularly, you can
easily do your own levelling. Simply pre-allocate a huge file, and
use it as a ring buffer. If each record contains a timestamp, there
is no need a store the current position separately. A modified binary
search will find it quickly.
Design the file format properly, and the SD card will probably be the
last component to fail.
--
Måns Rullgård
ma...@mansr.com
> On Mon, Nov 3, 2008 at 6:38 PM, Terrence <terr...@bayworld.com> wrote:
>
>> This is not a beagleboard specific question, but, if anyone knows,
>> any experience is appricated.
>>
>> One of my projects for beagle will have it running constantly for
>> literally years. It probably won't be changed hardware wise for 5+
>> years, and only minor software changes during that time.
>>
>> Part of its job will be to collect statistics, via log files, etc.
>> Periodically (daily) it will send the collected data, and simple
>> analysis reports to an email server. My inital thought is to have
>> the rootfs on a SD card. Does anyone have experience or a reaction
>> to using the SD card as a rootfs that is being used actively to
>> store and cleanup data (as opposed to mostly read-only)? Will I
>> run into a wear out issue? There's no easy way to tell if the
>> internal wear leveling of the SD card is working well or not.
>> Maybe a "larger" SD card will last longer (if wear leveling
>> actually works inside the sd card)? I'm only generating 2 to 4
>> MegaBytes of data daily.
>
> Also, FLASH memory is limited to 10,000 writes per block. So, at the
> least you need to make sure you move the data around a lot to insure
> you are not writing to the same blocks over and over. This adds to
> the complexity of using a file system in FLASH.
The POP flash on the Beagle board claims 100k write cycles. The specs
for SD cards probably vary. Regardless, flash wear is an issue that
needs to be addressed.
--
Måns Rullgård
ma...@mansr.com
For what it's worth, I have considerable experience
with small sector NOR flash and almost none with NAND.
That said, there's an important characteristic of
flash that data sheets don't address. That is a
"cooling off" phenomenon. We have found that SST
NOR flash has a virtually unlimited life providing
you wait at least 15 to 20 minutes between writes
to the same sector. SST has verbally confirmed our
observations, but refuses to specify the phenomenon.
That said, If I were writing a long-term data logging
ap, I'd be sure to observe the cooling off period
between writes to the same sector.
Suspicious mode on, since we don't know how the wear levelling works,
we can't be certain that a ring structure isn't the worst thing you could
possibly do to it. It is conceivable that a specific pattern of writes
completely defeats the built-in levelling algorithm, and ends up writing
the same block far more often that expected.
It may seem far-fetched, but you never can tell for sure. I've seen
hard drives killed by too frequent SMART queries.
> alternative is to run jffs2 on the SD card, however, most folks with an
> opinion have said that’s a bad idea.
JFFS2 is designed for raw flash devices without any built-in wear levelling.
Using it on a device with wear levelling is unnecessary at best.
> If the size of the rootfs permits, I might run most of the system in the
> built in flash,
The 256MB onboard flash should be plenty for a simple sensor logger.
> and use the SD card only
> for logging, and other changing data, then schedule the card for copy and
> replacement once per year. Is there a spec on the retention time of the pop
> flash?
10 years, IIRC.
--
Måns Rullgård
ma...@mansr.com
Since most SD/MMC cards are sold for things like digital camera applications,
and such devices tend to use VFAT, whatever is in the card that passes for a
wear-leveling algorithm--- if any--- is probably tuned to work best for that
filesystem. If you depart significantly from that, you might be asking for
problems.
JFFS2 would be a particularly bad choice regardless, since it's designed for a
completely different medium altogether.
b.g.
--
Bill Gatliff
bg...@billgatliff.com
> -----Original Message-----
> From: beagl...@googlegroups.com
> [mailto:beagl...@googlegroups.com] On Behalf Of Bill Gatliff
> Sent: Tuesday, November 04, 2008 11:36 AM
> To: beagl...@googlegroups.com
> Subject: [beagleboard] Re: Experience with flash "wear out"
>
>
> Måns Rullgård wrote:
> >
> > Suspicious mode on, since we don't know how the wear levelling works,
> > we can't be certain that a ring structure isn't the worst thing you
> could
> > possibly do to it. It is conceivable that a specific pattern of
> writes
> > completely defeats the built-in levelling algorithm, and ends up
> writing
> > the same block far more often that expected.
>
> Since most SD/MMC cards are sold for things like digital camera
> applications,
> and such devices tend to use VFAT, whatever is in the card that passes
> for a
> wear-leveling algorithm--- if any--- is probably tuned to work best for
> that
> filesystem. If you depart significantly from that, you might be asking
> for
> problems.
>
Vfat..hmmm... well I could use that for the logs. Since log files would be somewhat "similar" to writing pictures sequentially, which is what the camera would do, it should fit their "possibly simple or non-existant leveling method".
I don't see vfat supporting anything like data=ordered for ext3. I'm left with the sync option. I'm still thinking I might beat the wear-out issue by simply scheduling copy and replacement once a year, then give away the old SD card to some unsuspecting person. Still I think I'll take the vfat advice in combination with scheduled replacement.
> JFFS2 would be a particularly bad choice regardless, since it's
> designed for a
> completely different medium altogether.
>
I assume jffs2 would be the right choice for a rootfs on the nand flash on the board. However if I mounted it read-only I could still choose ext2 for performance reasons. I have yet to determine exactly how much of the file system will actually be changing over time.
>
> b.g.
> --
> Bill Gatliff
> bg...@billgatliff.com
FYI, this project does more than just log. It controls various devices, sends audio periodically, response to commands, etc. It'll be used as the "fancy" part of an amateur radio repeater, providing all of the high level features. Updates at the beginning of the project will be often (mainly to the main program that controls everything, and updating various sound files), but later very infrequently.
We've had a PC based Linux system in place for this purpose, which hasn't changed much (except for hardware failures) since 1994. Our other choice is to simply use a PC again, which at this point seems like overkill. The beagleboard seems a good replacement, low cost, low power, no moving parts, smaller, less heat. We're also adding a bunch of additional features at the same time, and reducing the size of the whole controller (beagle plus, low level controller, interfaces to link receivers, etc) to a 1U rack space. One can think of this as a robotics project, except nothing moves.
I had started this project with the Gumstix Verdex in mind, but when I saw the beagleboard had pretty much everything on the one board, it seemed a better choice. Now that Gumstix is putting all their eggs into the Overo bucket, I'll look at that again when it matures (for other projects), since I don't need to buy another board for audio, display, etc with beagleboard it’s a better choice for this one-off project.
Again, I appreciate all the advice.
Kevin
>
> Vfat..hmmm... well I could use that for the logs. Since log files would be somewhat "similar" to writing pictures sequentially, which is what the camera would do, it should fit their "possibly simple or non-existant leveling method".
>
> I don't see vfat supporting anything like data=ordered for ext3. I'm left with the sync option. I'm still thinking I might beat the wear-out issue by simply scheduling copy and replacement once a year, then give away the old SD card to some unsuspecting person. Still I think I'll take the vfat advice in combination with scheduled replacement.
Ext3 is probably similar enough, and you'd get the journaling benefit as well.
But yea, I'd definitely schedule replacement--- and when picking the replacement
candidate buy two and abuse the daylights out of one first to see what happens.
I have seen a couple of SD/MMC controllers get completely hung up on an error,
to the point that you just pitch the card. Little postage-stamp-sized
doorstops, as I remember it.
> I assume jffs2 would be the right choice for a rootfs on the nand flash on the board.
Yes, or perhaps yaffs. I haven't had time to look at the UBI stuff, maybe
there's something there too.
> However if I mounted it read-only I could still choose ext2 for performance
reasons.
True, if you could create the image offline and then dd it into the device.
For read throughput, once you're mounted the performance difference might not be
all that different between ext* and the various *ffs*-en, because the kernel's
VFS stuff works to your advantage for both. JFFS has a reputation for slow
mounting, but "summary nodes" can speed that up if you enable that feature. If
your system even cold-boots at all, I mean--- most of my platforms are up so
long, the reboot time doesn't matter because it's only done a few times a year.
I'd probably go with one of the ffs-en rather than ext even in a presumed
read-only scenario. Because then if you changed your mind later about
read/write you wouldn't have to reconfigure the system--- just remount if
necesssary, and you're good to go.