ts-7000
[Top] [All Lists]

Re: [ts-7000] Re: TS-7390 tssdcard and tsuart driver incompatibility wit

To:
Subject: Re: [ts-7000] Re: TS-7390 tssdcard and tsuart driver incompatibility with DMA
From: Daniel Smolik <>
Date: Tue, 11 Aug 2009 16:10:29 +0200
Breton M. Saunders napsal(a):
>  
> 
> Daniel Smolik wrote:
>  > Doug napsal(a):
>  >
>  >>
>  >>
>  >> --- In  <ts-7000%40yahoogroups.com> 
> <ts-7000%40yahoogroups.com>,
>  >> "Breton M. Saunders" <> wrote:
>  >>
>  >> Hey Brett,
>  >>
>  >> > I am unconvinced by the stability of the sdcard driver.
>  >>
>  >> Me too. We first noticed this problem because it was causing corrupted
>  >> versions of shared libraries to be loaded into RAM, causing a strange
>  >> program crash. We also saw other odd behavior (playsound was cutting 
> out
>  >> on some sounds and making the sounds stutter, and saying invalid format
>  >> on others). When we loaded our program from the NAND instead of the SD
>  >> card all was fine. Hopefully it's an easy fix, we'll see...anyway, 
> we've
>  >> seen a lot of random weird behavior with the SD card and we're hoping
>  >> this problem I reported is the root cause of it. We tried to reduce it
>  >> down to a simple test case so it would be easy to reproduce.
>  >>
>  >> > I'm not sure about the 7350 - but on the TS7400 there is a design 
> issue
>  >> > (or rather lack of clarity): The port_b4 gpio line doubles up as the
>  >> > dmaenable line for dma channel 0. This is undocumented - and caused a
>  >> > problem with a board I designed. The issue arises when using dma
>  >> > enabled on the driver and channel 0 is used.
>  >> >
>  >> > The driver software for the 8 bit CPLD interfaces (7250 and 7400)
>  >> > contain a busy wait loop in them to stop faulty signaling on them. Im
>  >> > not sure about the 16 bit interfaces (e.g. the 73 series) - but there
>  >> > may be an equivalent loop or a race condition in that loop in the 
> driver.
>  >> >
>  >> > Id suggest checking that the two external DMA signaling lines aren't
>  >> > attached to any circuitry you may be using.
>  >>
>  >> Thanks for the ideas...we'll definitely check on this on Monday to make
>  >> sure. We've seen this problem on two TS-7390 boards, and on one of them
>  >> I believe all we had hooked up externally was the two wires to the TS
>  >> uart and an ethernet cable, so I dunno.
>  >>
>  >> > Does anyone fancy co-operating on reverse engineering and open 
> sourcing
>  >> > the SDcard driver?
>  >> > Is doing that legal?
>  >>
>  >> Not sure on the legality of it. I think it would be easier to just take
>  >> the binary blob as is and port the open source portion of the driver to
>  >> newer kernel versions perhaps? It would be an interesting thing to try
>  >> (either method).
>  >>
>  >>
>  > But it is lot of work I spend lot of time to try port wrapper from 
> 2.6.21 to 28 but it is not possible.
>  > There are lot of internal changes in kernel BIO layer. I mean that 
> wrapper driver must be rewritten from scratch.
>  >
> Actually, I have repaired the wrapper for use with 2.6.27 - as I'm not
> convinced the memory management is correct in the later kernels yet -
> maybe someone can correct me on this.
> 
> I also reverse engineered the blob part from object module for use on
> the ts7400 about 10 months ago. The reverse engineered blob works only
> on - rev 0 8 bit CPLD controllers (e.g. 7250 and 7400, not 73xx nor
> 78xx) - but one may infer from the blob dump that the 16 bit interfaces
> are fairly similar, and likely several oddities (e.g. hardware bugs) are
> fixed.
> 
Great work. If you want tester I would like to help. I have 
7400,7250,7800,7250-128,7200.

Regards
        Dan




> Nothing is sacred in the controller blob - all of the SD commands are
> published; so TS's argument about not releasing the driver because they
> paid for access to secure documents doesn't apply anymore (it may have
> at one time). I suspect that TS's argument against publishing the
> driver source code is more of exposing bugs in the CPLD implementation,
> and/or showing their ugly code. If they would chill out and come clean
> with the code then we (the collective community) could get it working,
> burn in tested and supported on modern (e.g. usable) kernels.
> 
> I have tested my implementation with Bonnie++, and it does seem to work
> on 10MiB test files - although I haven't done much more sophisticated
> burn-in testing. My driver also works with DMA reads, DMA writes are
> unsupported (similarly to the ts implementation).
> 
> My main question - and primarily one for the GNU's lawyers is whether or
> not I can release the code under a GNU license.
> 



------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ts-7000/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/ts-7000/join
    (Yahoo! ID required)

<*> To change settings via email:
     
    

<*> To unsubscribe from this group, send an email to:
    

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU