martedì 28 ottobre 2008

OpenMoko, il parere di un esperto


It seems like we are down to a point where the CPU is 100% busy reading from
NAND, which is odd. Why would reading from a mass storage device make the CPU
so busy? Well, because Samsung "forgot" to add DMA support to all of their
integrated NAND controllers, from the old 2410 through the 2440, 2442, 2443 and
up to the shiny new 6410, all the NAND controllers don't support DMA. In fact,
they don't even have a FIFO or some kind of internal buffer for the received
data. This is really weird, considering the facts that

  • every other peripheral (SD/MMC, SPI, UART, ...) can use DMA
  • Samsung as provider of both NAND flash and SoC should be experts in
    providing good flash performance
  • I cannot see any strong architectural limitation. The data is read into
    a register. The register should be replaced with a FIFO, and a DMA
    can regularly read from that register or FIFO and put it somewhere else
    into memory. It's not any different from e.g. SPI or UART DMA.
  • Harald "LaF0rge" Welte è uno di quelli con gli attributi quadrati.

    Ha abbandonato il progetto OpenMoko perché, a suo dire, ognuno andava avanti per conto suo, con progetto suo, stile suo, repository suo, tutto suo. "Ogni càp' è nà repùbblica", come si diceva nel dopoguerra. Non si capiva mai dove e come e chi contattare.

    Stessa cosa per l'hardware: scelte oneste, materiale public domain e... bidonate come quella sotto riportata: la NAND va letta bit per bit, serialmente, come il leggendario floppydrive "1541" del Commodore 64, che costava più del computer stesso, ed aveva le operazioni di read/write possibili solo un bit alla volta, al punto che il più semplice dei "turbotape" dello Zx Spectrum era più veloce del costosissimo e osceno Commodore 1541.

    Certo che l'acquisto del FIC "GTA03" prossimo venturo mi suona ancora non definitivamente convincente. Questi cellulari OpenMoko stanno tragicamente arrivando con cinque anni di ritardo (sintomatico il fatto che il GTA02 - GPRS e con interfaccia incompleta - è uscito quasi contemporaneamente all'iPhone - che è 3G e ha l'interfaccia completa e funzionante).

    Hanno dei bug miserabili che di solito, anche nei progetti più squinternati, vengono corretti entro i primissimi mesi. C'è gente meno "professionale" dello staff FIC, che ha saputo produrre risultati migliori - come il progetto OpenPandora.

    Ho il sospetto che il progetto OpenMoko sia stato affossato proprio da chi lo aveva avviato. Per quanto arduo sia il progetto, mi meraviglia molto che dopo due anni esistano ancora simili flaws hardware e software.

    Mi meraviglia che si combatta con mostruosità come X, QT, GTK... che hanno senso se si vuole un computer con Linux, ma non è affatto detto che siano la scelta migliore per un cellulare.

    Una miglioria recentissima sul GTA02 è consistita nel ridurre il tempo di boot da 2'50" ad 1'40", che è superiore perfino all'orrendo Symbian installato sul mio P900 (la cui baseline si avvia peraltro in meno di dieci secondi: dunque il 90% del tempo è dovuto solo alla rognosa interfaccia grafica).

    Insomma, è un rapporto di amore e odio allo stesso tempo. Se il GTA03 avesse una "base" software funzionante, potrei ancora comprarlo. Ma certi problemi come la velocità della grafica o come questo problema ridicolo delle NAND evidenziato da Harald, mi trattengono dall'acquisto.

    Ah, che struggimento interiore...!

    1 commento:

    1. Alla fine non ho più comprato l'OpenMoko.

      Il progetto si è arenato.

      Avrei comprato volentieri anche un telefonino OpenMoko ancora incompleto, purché fosse almeno EDGE (2.5G) anziché GPRS (2G).

      E invece, un 3G è stato solo nominato, il 2.5G è stato affossato, il 2G a tutt'oggi è ancora incompleto. Che tristezza.

      RispondiElimina