Re: Survey about the Touchscreen

2008-11-21 Thread Simon Matthews
On Fri, 2008-11-21 at 13:16 -0500, Stefan Monnier wrote:

 So if we can't have multi-touch sensitivity, we need some other source
 of input.  It could be buttons on the sides (e.g. I could imagine
 a phone where you use one hand for the touchscreen while the other hand
 holds the phone and can squeeze it to generate a modifier kind of
 event).  For usability, I think it's important that this other source of
 input be usable at the same time as the touchscreen is used to move the
 cursor (so you can get similar effects as the 2-finger scroll, for
 exemples, or the mouse-3 context menus) so it probably would have to be
 activated by the other hand.

I agree, a scroll wheel and an extra button on the side of the
Freerunner, something like the old Sony Clie PDAs would be great, or
maybe a tiny trackball/scrollball like the one on the Apple mouse would
be useful.

I would love the capacitive multitouch screen but not at the expense of
input resolution.

Simon


___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: unable to read from Sandisk 8Gb SD

2008-09-24 Thread Simon Matthews
Andy, the version of the kernel build dated the 24th of Sept from the
debian package
deb http://prophet.homelinux.org/~lynx/debian unstable main
linux-image-gta02
now corrupts my 8GByte Samdisk SDHC card on suspend, where i had no
problems with the previous kernels with the workaround that turned the
SD clock on when suspending. I assume this kernel has your latest SD
mods in it.

Has anyone actually checked to make sure that the SD drivers and uboot
conform to the SDHC specification?

Simon




___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Bad Magic Number while booting from SD card with new uImage!

2008-09-22 Thread Simon Matthews

 My Sandisk 8GB breaks also. Some times the partiton and format works and
 sometimes the card would not be recognized. Always after reboot the whole
 partion table is away.
 
I also have an 8GByte Sandisk SDHC card and was having exactly the same
problems until turning the SD clock on when the Freerunner is suspended.

This has been incorporated in the kernels newer than the 4th of
September. Since using kernels newer than this i have not had any
problems with data corruption on my SD card.

Simon


___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Problems with SD boot of FSO, OM 2008.8, add /dev/mmcblk0... to distros?

2008-09-21 Thread Simon Matthews

  card driver not reading some cards.  The mmcblk0p1, p2, etc. device files
  actually will be autocreated whenever Linux thinks there are partitions
  there, but the problem is that sometimes when it tries to read the partition
  table of the card it fails to get any data, so it doesn't think any
  partitions exist. 

Make sure you are running a kernel newer than the 4th of September which
starts the SD clock up on suspend. Wih this workaround i haven't had any
problems with corruption of my Sandisk 8GByte SDHC card




___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Workaround for suspend/resume SD card problems

2008-08-28 Thread Simon Matthews
On Tue, 2008-08-26 at 18:38 +0200, AVee wrote:

 Depending on your usage of the SD card you could also workaround the issue 
 with a few symlinks. When the card is wrongly mounted just add symlinks to 
 the new location of the content of the card in /media/card/. Once you did 
 that /media/card will either contain the contents of the card (before 
 suspend) or valid symlinks to the content of the card (after suspend) which 
 works just as well.

I can't see how this will help if you are booted off the SD card and your
whole file system is on the card. Also this bug/fault is corrupting the
information on the SD card. If it is indeed a bug with the SD card
driver not providing enough SD clock cycles for the card to finish
executing commands it needs to be fixed with modification to the SD card
driver.

My workaround is only providing more clock cycles to the SD card. I
would be interested to know if anyone else has tried it and if it works
for them.

Simon




___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Workaround for suspend/resume SD card problems

2008-08-25 Thread Simon Matthews
With my 8G Sandisk SD card, i can reliably fix the problems i have been
having by turning on the SD clock all the time. To do this type the
command
echo 1  /sys/module/glamo_mci/parameters/sd_idleclk
then do something that will access the SD card before doing a suspend.

This of course won't do the GPS much good, but i think the real fix
might be to give the SD card more clock cycles before and after commands
to give it time to finish executing commands.

Simon


___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Australian Second Group Purchase

2008-08-07 Thread Simon Matthews
The Australian second group purchase of Freerunners is making good
progress. We still have a few unsold phones out of the batch of fifty
that Openmoko have reserved for us. These will be shipped from China as
soon as we send the money.

Current indications are that the price will be around $440 for the
phone. 

I hope to send an order to Openmoko early next week so you don't have
much time.

Can anyone who is SERIOUSLY INTERESTED in this please send an email to
[EMAIL PROTECTED] with the email subject being 
Second Purchase state quantity
So if you were living in NSW and wanted 2 phones you would reply with
the subject
Second Purchase NSW 2

Thanks
Simon Matthews



___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Second Australia wide group purchase

2008-07-28 Thread Simon Matthews
 As overall organiser of the first batch I am happy to put my hand up to 
 organise
 another batch of 50 phones if there is enough demand and i resolve a
 legal issue that is worrying me.
 
I have resolved the legal issue to my satisfaction. For those that are
interested in the details they are.

For the first group purchase i used the following information from
the booklet 

Telecommunications Labelling and Compliance Information for suppliers
of telecommunications equipment and cabling in Australia

from www.acma.gov.au

In the introduction there is the statement

Australian manufacturers and importers of telecommunications items, or
their Australian authorised agents acting on behalf of manufacturers and
importers (collectively referred to as ‘suppliers' throughout this
booklet), are required to label each item with either a compliance label
or non-compliance label. Items not specified by the Labelling Notice
must not be labelled.

But there is an exemption

cellular mobile phones imported for personal use that meet the
applicable technical standard(s);

For someone importing a single unit for themselves or in our case where
i am acting on behalf of a number of individuals one would think this
exemption should apply, but as i was importing sixty phones i started
wondering if i would be legally seen as a 'supplier' and that the
exemption wouldn't apply.

But looking at the actual Telecommunications Act we have

413 Supply of unlabelled customer equipment or unlabelled
  customer cabling
  (1) If a person:
(a) is a manufacturer or importer of customer equipment or
customer cabling; and
(b) is required under section 407 to apply to it a label in
a
particular form;
  the person must not supply the equipment or cabling unless a
label
  in that form has been applied to the equipment or cabling.
  (2) A person who contravenes subsection (1) is guilty of an
offence
  punishable on conviction by a fine not exceeding 100 penalty
units.

 (2A) Subsection (2) does not apply if the person has a reasonable
  excuse.
  Note:  A defendant bears an evidential burden in relation to
the matter
 in subsection (2A) (see subsection 13.3(3) of the
Criminal Code).
  (3) In this section:
  supply includes supply (including re-supply) by way of sale,
  exchange, lease, hire or hire-purchase.

I am confident that the definition of supply lets me off the hook here.
Section 2A is also comforting.

If anyone has any further thoughts about this i would like to know.

Simon



___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Second Australia wide group purchase

2008-07-27 Thread Simon Matthews
The first group purchase of sixty phones and eight debug boards have
arrived in Perth and the batches for the eastern states are now in
transit via Australian Post.

The total cost of the phones worked out at $440 each. Each phone had as
extra goodies an adaptor to plug into Australian power points,
headphones and a carrying pouch.

I cannot guarantee that the price or the accessories will be the same
for the second batch but they should be.

As overall organiser of the first batch I am happy to put my hand up to organise
another batch of 50 phones if there is enough demand and i resolve a
legal issue that is worrying me.

I believe Openmoko have reserved 50 phones from a production batch in
early August for us.

I have to confirm with Openmoko in the next few days if we will be
taking these 50 phones.

Can anyone who is SERIOUSLY INTERESTED in this please send an email to
[EMAIL PROTECTED] with the email subject being 
Second Purchase state quantity
So if you were living in NSW and wanted 2 phones you would reply with the 
subject
Second Purchase NSW 2

Simon Matthews



___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Reason for GPS problems found! / more patches

2008-07-23 Thread Simon Matthews
Thanks for that Andy,

 There are some numbers here:
 
 http://git.openmoko.org/?p=kernel.git;a=commitdiff;h=66a83c97c4545ce4f07e0d90998f906fae49caf2
 

Could you tell me what exactly you are measuring, radiated power? and
under what conditions.

How was the noise floor measured.

Thanks Simon


___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Reason for GPS problems found! / more patches

2008-07-22 Thread Simon Matthews

  Surely the hardware and software 'fixes' can only be seen as a total fix
  if they make the SN (signal to noise ratio) of the GPS the same as if
  the SD card is not present.
 
 FWIW and IMAO, this definition of a total fix is impractical almost to
 the point of uselessness. There will always be some noise in a tightly
 packed product incorporating many high frequency sources. The question
 is if the noise is significant (as it seems to have originally been).

Sorry i don't think i have made myself clear. What i meant is that each
of the modifications has been claimed to be a fix, when i would think
they are only an improvement. What i am trying to get at is to find
which of the modifications gives the best improvement.

I know it is difficult to quantify this but it would be nice to know
that say the clock current drive decrease by itself improved the SN
ratio by say 6dB, the capacitor mod by itself improved the SN by say
3dB, and combined the change was 6dB. If this was the case just the
software mod would be necessary. If on the other hand the combined
change was 9dB then both would be worthwhile.
 

 Again, kudos to the team for a job well done on all fronts, sw and hw,
 with regard to this issue.
 
I agree with this. I find it very impressive that they can get three
radio transmitters, four radio receivers, high speed electronics and
audio working in such a small package without more problems, and
probably done on a shoestring budget as well.

Simon




___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Experiances purchasing and using a neo fr in australia?

2008-07-21 Thread Simon Matthews

 Im currently looking very hard at purchasing the neo freerunner from the 
 official store on july 25, i live in melbourne australia and was 
 wondering if anyone has purchased either the freerunner or 1973 and used 
 it in australia.
There is an Australian wide group of sixty waiting for their Freerunners
to arrive. They are currently in customs. There are some 1973s and a few
pre production Freerunners in Australia

There is information on importing the phones into Australia in the wiki
at
http://wiki.openmoko.org/wiki/Group_Sales_Australia.

There maybe a second group purchase happening. Put your name down in the
wiki if you are interested in this.

Simon


___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Reason for GPS problems found! / more patches

2008-07-21 Thread Simon Matthews

 So the fact you were OK at drive level 0 should mean are able to use SD
 card how you like without problems from SD_CLK to GPS any more.
 
Surely the hardware and software 'fixes' can only be seen as a total fix
if they make the SN (signal to noise ratio) of the GPS the same as if
the SD card is not present. I would have thought that each of these
modifications would improve the SN ratio but would not make it the same
as not having the SD card present.

I know it is hard but it would be nice to get some figures on how each
of these modifications by themselves and together effect the SN ratio.

It might turn out that the software clock drive solution by itself is as
good as or better than adding the capacitor, and adding the capacitor
does not improve the SN ratio any further once the clock drive mod is
done, which would make it unnecessary.

Simon




___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Isolating GPS noise source was Re: Reason for GPS problems found!

2008-07-15 Thread Simon Matthews
Is the noise from the SD card itself, most likely or from pcb
signal/power lines going to/from the SD card?

I should have my Freerunner by now so i could do some tests, but it is
still stuck in China!

Here are some ideas. 
If you mask off all the data and clock with sticky tape, but leave the
power pads on the SD card unmasked and see if this makes any difference.
The SD card pinouts are


--
   /  1 2 3 4 5 6 7 8 |
   |9 |
   |  |
   |  |
   |  |
   |  |
--

1 CD/DAT3
2 CMD
3 VSS
4 VDD
5 CLK
6 VSS
7 DAT0
8 DAT1
9 DAT2

So mask off 1,2,5,7,8,9

Maybe soldering a 0.1uF decoupling cap between VDD and VSS as close to
the SD connector as possible may help.

Trying to shield the GPS connector might help or more radical surgery
like cutting the connector off and patching it directly into the antenna
mux and chopping the tracks to the internal antenna plug.

I don't think this wouldn't be good for the warranty though.

I must say i don't like the position of the internal antenna plug. 


Simon 


On Tue, 2008-07-15 at 16:37 +0200, Yorick Moko wrote:
 they know about it now
 (joerg even replied in this thread, he's a member)



___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Reason for GPS problems found!

2008-07-15 Thread Simon Matthews
I would like to know if the SD card noise is desensitising the external
antenna as well.

This would point to noise getting into the antenna mux and front end of
the GPS circuit.

Simon 



On Tue, 2008-07-15 at 23:29 +0200, Joerg Reisenweber wrote:

 So we can assume this is pretty confirmed by quite some reports now.
 Thanks to community for the awesome help on this!
 Special thanks to *sbeh* for finding this. Please mail me directly ;-)!!
 
 We did quite some tests on this as fast as we could (and I never assumed we 
 could be *that* fast), and it seems we found the root cause of the problem.
 ALL THIS IS PRELIMINARY INFO! Due to further tests to confirm.
 Just to let you all know we're on it, and please stop thinking about 
 shielding 
 the SDcard with tin foil or relocating internal gps-antenna. It won't 
 probably help.
 
 The good news: *IF* all pans out, there's (or soon will be) a new kernel at 
 Andy branch that stops SD-card clock when SDcard is idle. We hope this will 
 almost cure the problem, at least reduce it to sth like you can't GPS while 
 watching video from SD or the like (hope you can cope with that ;).
 We're about to verify a hw-fix so you could even watch video and still have 
 GPS positioning during that.
 
 
 Please stay tuned and be patient, we'll come up with news *really soon*.
 And *please* don't try weird reworks and maybe break your FR by doing so 
 ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) 
 
 cheers
 jOERG
 ___
 Openmoko community mailing list
 community@lists.openmoko.org
 http://lists.openmoko.org/mailman/listinfo/community


___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Shipping details

2008-06-07 Thread Simon Matthews
Hi Steve,

Firstly i would like to thank you and everyone at Openmoko for being so
open about the production process. As one who has been involved with the
design, manufacture and sales of electronic products for many years i
know how complex and frustrating it is to get product out the door, with
Murphy's law waiting at every turn!

It is a real breath of fresh air, especially in an industry which is
getting more and more closed and hard to deal with unless you are
talking in 100K+ quantities.

Now back to some of those frustrating details. So we can finalise our
group buy details could you please enlighten us on the following.

What courier companies/the postal service and shipping options (express
versus normal etc) will you be using to ship the phones (only UPS or
others as well?)

Will you be offering the option of having the shipments insured? Do you
know how much the insurance will cost. I can't find much information on
the UPS web site on insurance.

What payment options will you have.

Thanks
Simon Matthews


___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Yummy new CPU/GPU combo

2008-06-07 Thread Simon Matthews
The big companies making these hi-tech electronic parts are probably
only interested in orders it the hundred of thousands if not millions of
parts.

There is less risk to them of intellectual property being stolen or
parts copied having a few customers buying large quantities at low
margins than lots of smaller companies buying small numbers at higher
margins and it is also less hassle. It is probably not worth the big
companies to get their lawyers to draw up the contracts for small
quantities (we all know how much lawyers cost!)

Then there are the cosy exclusive deals that only the big companies have
the power to negotiate.

I would think it has been a big advantage for Openmoko having FIC
behind it when trying to source all the specialised components.

Even then they are still a small fish in a very large and expensive
pond.


On Sat, 2008-06-07 at 19:15 -0700, Dave O'Connor wrote:

 Thanks for the response and don't take this the wrong way but it doesn't
 really answer my question. :)
 
 Openmoko could take these sweet spec components and do stuff with them.
 That would lead to increased sales for these component manufacturers.
 It's in their interest to make them, and hopefully therefore the specs,
 available to you. 1) Why don't they make the components available to
 anyone other than the manufacturers for phones meant for the japanese
 market, even those who wouldn't care about open specs?
 
 Regards
 Dave
 


___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Importing Freerunners to Australia

2008-05-23 Thread Simon Matthews
Hi,

I think there are a few mistakes in the calculations i have seen for
importing the Freerunners into Australia.

Here is my take on all this.

From Steve at Openmoko's email on shipping costs
Subject:RE: Shipping questions, customer organized distribution
in Europe
Date:   Sun, 27 Apr 2008 10:56:22 -0700 (Mon, 01:56 WST)
the expected shipping costs for 10 phones to Europe would be US$160 or
US$16 each. Cost for individual phones will be US$70 each. I think the
charges to Australia would be similar.

Maybe Steve can confirm this for us, also will Openmoko give the option
of sending the phones insured and what would be the extra charge for
insurance be.

There is no customs duty payable
   CUSTOMS TARIFF
 SCHEDULE 3
  Section 16
  R.10 Chapter 85/19
Reference Statistical
NumberCode/Unit  Goods Rate
#

8517.12.00 10 No - - Telephones for cellular networks or for other Free
 wireless networks

There is a customs entry fee and UPS will charge a fee to lodge all the
documentation. This is around AUS$140, i can't remember the exact
figure, i will phone UPS on Monday. If the units were sent by post you
could do all the paperwork yourself and save around AUS$100, but I think
Steve has already said Openmoko is only sending via UPS.

So at an exchange rate of US$1.00=AUS$1.07

Cost of phone (10 pack)  AUS$394.83
Shipping costs   AUS$ 17.12
Entry feeUAS$ 14.00
GST  AUS$ 42.60
 --
TotalAUS$468.55

Cost of individual phone AUS$426.93
Shipping costs   AUS$ 74.90
 --
TotalAUS$501.83

Regards
Simon




___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: proprietary firmware

2008-02-08 Thread Simon Matthews

Due to regulatory requirements over wireless frequencies, power and
modulation i can't see it being possible for the low level software that
controls the RF transmitters being Open Source.

Moving the software that modulates the transmitted RF and demodulates
the received RF onto the user space CPU just increases the burden on
that CPU, which might be acceptable for users who want to tinker with
this data, but for the majority of users just results in poorer
performance of the phone/computer as a whole.

Would it be possible to try to get the manufacturers of the chipsets to
install a standardised loader in flash or ROM on their devices that
would make it easy to download and flash a new binary image with data
encryption if need be. Would be great if this download was via a
standard hardware link like JTAG or some other simple
synchronous/asynchronous interface.

This would make it easy to fix bugs in the firmware, and would make it
easier to have different versions of the firmware that could allow more
or less processing be done on the user space CPU depending on the users
needs.

Regards
Simon

___
OpenMoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Hooks in Base Code

2007-07-22 Thread Simon Matthews
Hi,

Here is my two cents worth. I also hope what i am saying here is not too
basic and is comprehensible. I program in Forth so my  knowledge of C
vocabulary is not fabulous.

On Sat, 2007-07-21 at 12:28 -0400, Clayton Jones wrote:

 I like the ideas presented here, but i have some experience designing
  building real time  embedded systems so some points to think about:

I too have a long history designing, building and writing code for real
time embedded systems and all my current designs implement a similar
strategy of having Event Generators (usually interupts), an Event
Dispatcher and Event Handlers. IMHO the Event Router should be as simple
and fast as possible. Any complex sorting/ checking  of event lists etc
etc should be left to code sitting on the sidelines

 
 1) The Event Router should also have some sort of priority mechanism ...

How about a linked list of Event Objects which would contain the Link to
next Event, Event Priority,  Event Parameters and Link to a specific
Event Handler. 

The Event Router would pass execution to the specific Event Handler for
the Event Object at the top of the list. When the specific Event Handler
had finished it would pass control back to the Event Router which would
delete the finished Event Object and move on to the next in the list.

The Event Handler could simply be a list of calls to various code. This
list could be easily edited to change the functionality of the device.
Would have to have a mechanism for handling errors.

Rather than having fixed Event Parameters i would go for a Parameter
Heap which would be part of the Event Object. It doesn't need any fixed
format as both the code that generated the event and the Event Handler
know what the parameters are.

To generate a new  event  one creates a new Event Object with say one of
three functions
CreateEventAtTopOfList - Would be used if immediate execution is needed
CreateEventAtBottomOfList - Execute when you have time
CreateEventInMiddleOfList - Insert in execution list, location dependent
on Event Priority



 2) We have to be careful about race conditions in event notification
 latency and order.


This sequential execution of the Event Objects should reduce the chance
of race conditions but will mean that the Event Handlers will need to
execute expeditiously so as not to hold up the Event handling system.

Other code could sit on the sidelines keeping track of the event list to
make sure nothing is going wrong. 

 
 3) Finally, we have to keep in mind that this is a small-form factor,
 battery-powered system - we'll always be behind on the power/resource
 curve from our desktops, so we have to be aware of speed and
 resources.

I couldn't agree more. I have seen a number of engineering projects fail
due to overcomplexity and inattention to low level design resulting in
unacceptably slow response and too much power consumption.

If anyone thinks this is a good idea i will flesh it out more in the
wiki.

Regards
Simon Matthews

___
OpenMoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Information on importing mobile phones into Australia

2007-05-21 Thread Simon Matthews
I noticed that Australia is not mentioned on the list of countries you
can ship to direct. Is this correct?

I have done done a quick search on bringing mobile phones that are not
covered by the A-Tick telecommunications regulations into Australia.

The system of regulation in Australia is that a supplier or manufacturer
applies for registration to use an A-Tick label. Once this is granted
you can place this sticker on any equipment you market but you are
responsible to have the equipment tested to the appropriate standards
and keep documentation of compliance. You may be audited and if the
documentation is not up to scratch legal action may be taken against
you. 

As far as i can see the customs service does not list non compliant
mobile phones as  prohibited or restricted goods and the following
statement from the regulatory authority http://www.acma.gov.au may
apply.

A mobile phone (for personal use) may be brought into Australia and
connected to a mobile telecommunications network provided the phone
meets Australian standards.  If you are travelling and plan to purchase
a GSM mobile phone overseas, ACMA recommends that prior to departing
from Australia you contact your mobile carrier to find out what mobile
phones are suitable for use in Australia.  Some features on certain
models of mobile phones purchased overseas may not work on the
Australian mobile networks. There are no labelling requirements for a
mobile phone imported for personal use by this method.

This link gives more information
http://www.acma.gov.au/WEB/STANDARD//pc=PC_1687.

It is illegal to connect any equipment that does not comply with the
relevant standards up to the telecommunications network. Interestingly
enough i think you can still market the device if it is labelled as non
compliant and has the following label on it

WARNING: IT IS ILLEGAL TO CONNECT THIS ITEM TO ANY TELECOMMUNICATIONS
NETWORK OR FACILITY, UNLESS YOU HAVE PERMISSION

For more information see http://www.acma.gov.au/WEB/STANDARD//pc=PC_1687

Hope this is of use

Simon

___
OpenMoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Making Neo Brickproof, was comments after reading Wiki

2007-05-18 Thread Simon Matthews
It seems to me as someone who designs and makes embedded devices (mainly
using the Freescale MC9S12 processors) that you need another lower level
bootstrap loader that is small, can be protected and will either jump to
the main bootstrap loader if it is functional or be able to download a
new 2nd stage bootstrap loader and program it into flash via the USB
port.

Here is a flow chart for the proposed loader

RESET
1. Turn protection on for this first level bootstrap code (if necessary)
2. Check if user wants to download new 2nd stage bootstrap (could use
AUX button), if so goto 5
3. Check if 2nd stage bootstrap exists (is 2nd stage bootstrap flash
blank?), if so goto 5
4. Check 2nd stage bootstrap code in Flash via checksum, if OK load into
RAM and jump to else goto 5
5. Download new second stage bootstrap image from the USB port and store
into FLASH. I would use some simple HEX format like Intel or Motorola
HEX format.

I have used a similar scheme for some time now and it has been bullet
proof for me.

Simon Matthews




On Wed, 2007-05-16 at 19:55 -0300, Werner Almesberger wrote:

 Marcin Wiacek wrote:
  Of I see that we think about different things
 
 Yup :-)
 
  I was thinking about protecting memory with main phone software (like
  kernel, boot loader, main apps).
 
 You'll (almost certainly) be able to do this as well: the new MCU
 will allow you to specify which NAND Flash area can be written to.
 Once this is set, it cannot be changed without a reset. So this
 would be a hardware assisted solution. Unfortunately, you can
 probably bypass it if you're determined.
 
 - Werner
 
___
OpenMoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Few comments after reading Wiki

2007-05-18 Thread Simon Matthews
On Wed, 2007-05-16 at 19:55 -0300, Werner Almesberger wrote:


 You'll (almost certainly) be able to do this as well: the new MCU
 will allow you to specify which NAND Flash area can be written to.
 Once this is set, it cannot be changed without a reset. So this
 would be a hardware assisted solution. Unfortunately, you can
 probably bypass it if you're determined.

Could you tell me the make and model of the new MPU, and maybe some
links to datasheets. I did look in the WIKI and in previous messages but
couldn't find these details.

I am intrigued to see how they implement the protection.

Thanks
Simon
___
OpenMoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Making Neo Brickproof, was comments after reading Wiki

2007-05-17 Thread Simon Matthews
I would have thought it would be nice to avoid an extra chip. I noticed
after a quick scan through the documentation on the flash currently
being used by the Neo that there is one 16K block of OTP memory. Of
course this would only be any good if it could be mapped to the
addresses that get downloaded by the CPU before it starts.

I see a couple of problems with having one large complex bootloader. If
it is large and complex there is more chance it will need to be changed
due to changes in functionality or bugs. Each time it is changed you
have a chance of bricking the device, either by the code not programming
correctly or the code being wrong. If you always have a small stage 1
bootloader in place you can circumvent these problems.

Regarding the simple interface, i agree that having an asynchronous
serial interface (RS232) that goes to the outside world would be nice,
but wonder how hard it would be to write a very basic USB driver with
just enough functionality to do the job of downloading some fixed format
data from a host. On the host side a simple program that can download
data to a USB slave device would all that would be needed.  From a user
perspective it should be kept as simple as possible so if the main
bootloader gets screwed up for whatever reason it would be nice to just
plug it into your computer and execute a simple program to restore it.

Simon


On Thu, 2007-05-17 at 01:58 -0300, Werner Almesberger wrote:


 We rejected it, because we don't want to have yet more code
 duplicating functionality found elsewhere to maintain. Besides, it
 wouldn't be all that trivial, given that we don't have any simple
 interfaces. (Anything that needs a debug board or other fancy
 adapters doesn't count.)
 
 Also, there really isn't much difference between a few protected
 bytes or hundreds of protected kilobytes. We need an extra chip
 anyway, and if we want something reasonably small and modern, it'll
 have plenty of space. Thus there's no penalty in using it.
 
 But yes, the small loader approach works well enough in other
 contexts. I've used it myself.
 
 - Werner
 
___
OpenMoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Making Neo Brickproof, was comments after reading Wiki

2007-05-17 Thread Simon Matthews
Just had a further thought about what to do if the main bootstrap loader
gets trashed that maybe easier to implement. Rather than a stage 1
bootstrap loader looking to the USB interface for a replacement how
about looking on the SD card?

Simon

On Thu, 2007-05-17 at 01:58 -0300, Werner Almesberger wrote:

 Simon Matthews wrote:
  It seems to me as someone who designs and makes embedded devices (mainly
  using the Freescale MC9S12 processors) that you need another lower level
  bootstrap loader that is small,
 
 Ah yes, we've been through that idea as well :-)
 
 We rejected it, because we don't want to have yet more code
 duplicating functionality found elsewhere to maintain. Besides, it
 wouldn't be all that trivial, given that we don't have any simple
 interfaces. (Anything that needs a debug board or other fancy
 adapters doesn't count.)
 
 Also, there really isn't much difference between a few protected
 bytes or hundreds of protected kilobytes. We need an extra chip
 anyway, and if we want something reasonably small and modern, it'll
 have plenty of space. Thus there's no penalty in using it.
 
 But yes, the small loader approach works well enough in other
 contexts. I've used it myself.
 
 - Werner
 
___
OpenMoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Making Neo Brickproof, was comments after reading Wiki

2007-05-17 Thread Simon Matthews
On Thu, 2007-05-17 at 09:19 -0300, Werner Almesberger wrote:

 Yeah, we tried, but it just doesn't seem to be possible :-( There
 are some alternatives, but they then lead to other problems, such
 as chips not being available in quantity, etc. (And we've had our
 number of surprises with that. Once bitten, ...)

If you do find a chip with a small protected page i might be interested
in writing the loader i have outlined.


 will be exercised well enough. To the contrary, since this is code
 we already use daily, it's more likely to be correct than a
 special-purpose loader that only gets used rarely.

As long as the bootstrap code  reprogramming is bullet proof or you
don't see the need for changing the boot code i can't see any problems
with one large bootstrap.

 You'd have to ask Harald for comments on USB (among other things,
 he implemented DFU in u-boot),  but my impression is that it's hard
 and messy enough that nobody wants to maintain yet another stack.


I looked at using USB a few years ago and decided it was too convoluted
and complex. IMHO a powered Ethernet variant would have been a much
better arrangement that the USB mess.

Regards

Simon
___
OpenMoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Few comments after reading Wiki

2007-05-17 Thread Simon Matthews
On Wed, 2007-05-16 at 19:55 -0300, Werner Almesberger wrote:


 You'll (almost certainly) be able to do this as well: the new MCU
 will allow you to specify which NAND Flash area can be written to.
 Once this is set, it cannot be changed without a reset. So this
 would be a hardware assisted solution. Unfortunately, you can
 probably bypass it if you're determined.

Could you tell me the make and model of the new MPU, and maybe some
links to datasheets. I did look in the WIKI and in previous messages but
couldn't find these details.

I am intrigued to see how they implement the protection.

Thanks
Simon
___
OpenMoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Making Neo Brickproof, was comments after reading Wiki

2007-05-16 Thread Simon Matthews
It seems to me as someone who designs and makes embedded devices (mainly
using the Freescale MC9S12 processors) that you need another lower level
bootstrap loader that is small, can be protected and will either jump to
the main bootstrap loader if it is functional or be able to download a
new 2nd stage bootstrap loader and program it into flash via the USB
port.

Here is a flow chart for the proposed loader

RESET
1. Turn protection on for this first level bootstrap code (if necessary)
2. Check if user wants to download new 2nd stage bootstrap (could use
AUX button), if so goto 5
3. Check if 2nd stage bootstrap exists (is 2nd stage bootstrap flash
blank?), if so goto 5
4. Check 2nd stage bootstrap code in Flash via checksum, if OK load into
RAM and jump to else goto 5
5. Download new second stage bootstrap image from the USB port and store
into FLASH. I would use some simple HEX format like Intel or Motorola
HEX format.

I have used a similar scheme for some time now and it has been bullet
proof for me.

Simon Matthews




On Wed, 2007-05-16 at 19:55 -0300, Werner Almesberger wrote: 

 Marcin Wiacek wrote:
  Of I see that we think about different things
 
 Yup :-)
 
  I was thinking about protecting memory with main phone software (like
  kernel, boot loader, main apps).
 
 You'll (almost certainly) be able to do this as well: the new MCU
 will allow you to specify which NAND Flash area can be written to.
 Once this is set, it cannot be changed without a reset. So this
 would be a hardware assisted solution. Unfortunately, you can
 probably bypass it if you're determined.
 
 - Werner
 
___
OpenMoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community