From ralphs@netwinder.org Mon Jul 9 12:06:36 2001 Return-Path: Delivered-To: andersen@codepoet.org Received: from kei.netwinder.org (netwinder.org [207.245.35.202]) by winder.codepoet.org (Postfix) with ESMTP id 4EA9F157580 for ; Mon, 9 Jul 2001 12:06:35 -0600 (MDT) Received: from netwinder.org (IDENT:ralphs@[10.8.44.3]) by kei.netwinder.org (8.9.3/8.9.3) with ESMTP id OAA29256 for ; Mon, 9 Jul 2001 14:06:32 -0400 Sender: ralphs@netwinder.org Message-ID: <3B49F2A8.4274CCC6@netwinder.org> Date: Mon, 09 Jul 2001 14:06:32 -0400 From: Ralph Siemsen X-Mailer: Mozilla 4.72 [en] (X11; U; Linux 2.2.14-5.0 i686) X-Accept-Language: en MIME-Version: 1.0 To: andersen@codepoet.org Subject: Re: NetWinder memory specs? References: <20010709111329.A30071@codepoet.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 1144 Lines: 26 Hi Erik, > So if you could clue me in here I'd be much obliged. How much RAM can the > NetWinder take? Is this RAM for sale? What is needed to make RAM work on a > NetWinder? Max RAM is 256MB, though we only sell it with 128MB as far as I know. We contract out the manufacture of the memory modules, and I guess there isn't enough demand to warrant building a 256 size. The RAM differs from normal laptop memory because its 32 bits wide, not 64. You need recent firmware (3.3-3 is current) to support the larger memory sizes. I cannot explain why, but I have seen ARM machines running happily on a PC-style 64-bit memory module. Theoretically it should not work. But sometimes it does. So you can give that a shot if you feel adventurous. Otherwise our support folks should be able to help you out. > BTW, I now have full ARM shared library support in uClibc including a native > shared lib loader. Works great and is _way_ smaller then the glibc stuff. Excellent! I had built 0.51 on ARM and was pretty pleased with it; in fact it will likely be used in the firmware environment on ARM if we ever get to revamping it. -Ralph From ralphs@triton.netwinder.org Mon Jul 9 15:33:57 2001 Return-Path: Delivered-To: andersen@codepoet.org Received: from triton.netwinder.org (netwinder.org [207.245.35.202]) by winder.codepoet.org (Postfix) with ESMTP id 84E3F157580 for ; Mon, 9 Jul 2001 15:33:56 -0600 (MDT) Received: (from ralphs@localhost) by triton.netwinder.org (8.9.3/8.9.3) id RAA08122 for andersen@codepoet.org; Mon, 9 Jul 2001 17:33:53 -0400 Date: Mon, 9 Jul 2001 17:33:52 -0400 From: Ralph Siemsen To: Erik Andersen Subject: Re: NetWinder memory specs? Message-ID: <20010709173352.A8114@triton.netwinder.org> Reply-To: ralphs@netwinder.org References: <3B49F84F.80A0CCD5@netwinder.org> <20010709142703.A30867@codepoet.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0.1i In-Reply-To: <20010709142703.A30867@codepoet.org>; from andersen@codepoet.org on Mon, Jul 09, 2001 at 02:27:03PM -0600 Status: RO X-Status: A Content-Length: 1847 Lines: 37 (Warning, I'm replying remotely using a new mail setup... check the return address) On Mon, Jul 09, 2001 at 02:27:03PM -0600, Erik Andersen wrote: > Both work fine. PC-100 SODIMMs. The 64Meg SODIMM only registers > 32Meg, and the 128Meg SODIMM registers as just 64. So it looks > like the 32bit interface is simply preventing it from accessing > the other 1/2 of the ram... I presume this is with nettrom-3.3-3, or an earlier one? Also, you'll want to make sure there is no "ghosting" of memory. Ie. the last 32M repeating what's in the first 32M or something like that. A fairly good way to test is to write a little program to malloc say 75% of the RAM and write patterns to it. If this is okay then you'll probably have luck. > So in theory... If I buy a 256Meg SODIMM (I can find one on pricewatch.com for > $56 U.S.) presumably I could get at least double my NetWinder's RAM to > 128Meg... Or if I buy a 512Meg SODIMM (I can find one on pricewatch.com for > $150 U.S.) presumably I could get the maximum NetWinder supported RAM of > 256Meg... Hmm. I wouldn't be so sure... Plug in a serial console (9600bps, 8N1, no flow control) and you'll see it probing the different memory setups. Not to be confused with the probing that happens for video memory. To support 256 the 21285 chipset does some odd things. All the 256 meg modules I've seen are double-height and have 2 or 4 bank geometries. > Any idea what changes/how involved the wiring changes are to switch a SODIMM > from a 64 bit to a 32bit interface? Any idea if anyone sells ram that is This is actually pretty simple, though I don't know the details. Our memory modules have this dual mode (they just change some placement of jumpers) so as to change the wiring to the connector. So if you stare at the old memory stick it might jump out at you. --Ralph From ralphs@netwinder.org Tue Jul 10 07:51:58 2001 Return-Path: Delivered-To: andersen@codepoet.org Received: from kei.netwinder.org (netwinder.org [207.245.35.202]) by winder.codepoet.org (Postfix) with ESMTP id 952DF157580 for ; Tue, 10 Jul 2001 07:51:57 -0600 (MDT) Received: from netwinder.org (IDENT:ralphs@[10.8.44.3]) by kei.netwinder.org (8.9.3/8.9.3) with ESMTP id JAA06628 for ; Tue, 10 Jul 2001 09:51:56 -0400 Sender: ralphs@netwinder.org Message-ID: <3B4B087C.2D8375C4@netwinder.org> Date: Tue, 10 Jul 2001 09:51:56 -0400 From: Ralph Siemsen X-Mailer: Mozilla 4.72 [en] (X11; U; Linux 2.2.14-5.0 i686) X-Accept-Language: en MIME-Version: 1.0 To: andersen@codepoet.org Subject: Re: NetWinder memory specs? References: <20010709160443.A31086@codepoet.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Status: RO Content-Length: 508 Lines: 17 Erik Andersen wrote: > This is with nettrom-2.3.3 on a rev 4 NetWinder. > Where do I find nettrom 3.3-3? D'oh... I meant 2.3.3, and I've made the same mistake elsewhere... 2.3.3 is the current, I'm pretty sure you need to cut traces also. Otherwise we'd actually be shipping more RAM than advertized but not using half of it. I'll check with the hardware guys though. -R From ralphs@netwinder.org Tue Jul 10 11:47:58 2001 Return-Path: Delivered-To: andersen@codepoet.org Received: from kei.netwinder.org (netwinder.org [207.245.35.202]) by winder.codepoet.org (Postfix) with ESMTP id 7F83A157580 for ; Tue, 10 Jul 2001 11:47:57 -0600 (MDT) Received: from netwinder.org (IDENT:ralphs@[10.8.44.3]) by kei.netwinder.org (8.9.3/8.9.3) with ESMTP id NAA09099 for ; Tue, 10 Jul 2001 13:47:55 -0400 Sender: ralphs@netwinder.org Message-ID: <3B4B3FCB.4AF50A7C@netwinder.org> Date: Tue, 10 Jul 2001 13:47:55 -0400 From: Ralph Siemsen X-Mailer: Mozilla 4.72 [en] (X11; U; Linux 2.2.14-5.0 i686) X-Accept-Language: en MIME-Version: 1.0 To: andersen@codepoet.org Subject: Re: NetWinder memory specs? References: <20010709173059.A31362@codepoet.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 1444 Lines: 27 Erik Andersen wrote: > Can you ask your hardware people something for me? Could you check if they > merely added the wires (for selecting which bank to address), or if they also > had to _cut/drill_ traces on the SODIMM? We got a couple of hardware people > here at my work -- one is betting you also cut traces (to reroute the > addressing), while another guy is betting you simply added the wires (and are > letting half the leads on the SODIMM float). Okay I have the full scoop now. What they did is basically double the number of banks on a module, while halving the width of the bank. Most SODIMMs have a single chip select (CS) line that runs to all of the individual chips. We cut this trace in half and run the second half out to the next CS line (there can be up to four CS lines). Our memory modules are made by Shikatronics and have a 0k resistor that can be moved to route the CS signal either the way we need it, or the regular way. So, what you observed makes perfect sense. Only half of the memory is visible if you don't make the change to the CS line. In fact what happens is that the same data gets written to _two_ places in your memory. If you inserted say a 128MB module then the lower 64M and upper 64M would in fact be mirrors of each other. If you cut the CS trace and route it to the SODIMM connector, then NeTTrom will recognize it as the proper number of banks and you'll get the full capacity. -Ralph From ralphs@netwinder.org Tue Jul 10 12:18:42 2001 Return-Path: Delivered-To: andersen@codepoet.org Received: from kei.netwinder.org (netwinder.org [207.245.35.202]) by winder.codepoet.org (Postfix) with ESMTP id 31130157580 for ; Tue, 10 Jul 2001 12:18:41 -0600 (MDT) Received: from netwinder.org (IDENT:ralphs@[10.8.44.3]) by kei.netwinder.org (8.9.3/8.9.3) with ESMTP id OAA09478 for ; Tue, 10 Jul 2001 14:18:34 -0400 Sender: ralphs@netwinder.org Message-ID: <3B4B46FA.FA4E1B20@netwinder.org> Date: Tue, 10 Jul 2001 14:18:34 -0400 From: Ralph Siemsen X-Mailer: Mozilla 4.72 [en] (X11; U; Linux 2.2.14-5.0 i686) X-Accept-Language: en MIME-Version: 1.0 To: andersen@codepoet.org Subject: Re: NetWinder memory specs? References: <20010710121346.A3636@codepoet.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 1072 Lines: 25 Erik Andersen wrote: > Ok, cool. Looks like Tim owes Curtis lunch or something. > This was exactly what Curtis was speculating to be the case, though > we couldn't see the cut trace... They should be able to find the resistor and its alternate footprint... > Looks like I'll be making myself a 256Meg SODIMM soon. With 256M and > a 20Gig drive, I suspect I'll have the best arm-linux box out there. :-) > I'm surprised there isn't a Tricking-out-your-netwinder FAQ. Nah, I got you beat, I have a 256M machine and a 40G 3.5" 7200 RPM disk... that actually makes quite a difference, the larger drives are considerably faster. Of course mine is only for testing :) -R From support-admin@netwinder.org Sat Oct 27 18:21:21 2001 Return-Path: Delivered-To: andersen@codepoet.org Received: from netwinder.org (kei.netwinder.org [209.202.115.26]) by winder.codepoet.org (Postfix) with ESMTP id A188C157561 for ; Sat, 27 Oct 2001 18:21:20 -0600 (MDT) Received: from localhost ([127.0.0.1] helo=kei.netwinder.org ident=mailman) by netwinder.org with esmtp (Exim 3.22 #1) id 15xdhM-0006uA-00; Sat, 27 Oct 2001 20:21:08 -0400 Path: localhost!not-for-mail From: "Andrew E. Mileski" Newsgroups: netwinder.support Subject: Re: [support] Maxing out the NetWinder's RAM... Organization: NetWinder.org - *the* NetWinder developer resource! Message-ID: <3BDB4E29.B376B134@sympatico.ca> References: NNTP-Posting-Host: hse-ottawa-ppp162019.sympatico.ca Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: kei.netwinder.org 1004228124 26491 64.229.148.118 (28 Oct 2001 00:15:24 GMT) X-Complaints-To: news@kei.netwinder.org NNTP-Posting-Date: Sun, 28 Oct 2001 00:15:24 +0000 (UTC) X-Mailer: Mozilla 4.77 [en] (X11; U; Linux 2.4.2-2smp i686) X-Accept-Language: en Xref: localhost netwinder.support:59 To: support@netwinder.org Sender: support-admin@netwinder.org Errors-To: support-admin@netwinder.org X-BeenThere: support@netwinder.org X-Mailman-Version: 2.0.6 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Technical support for NetWinder List-Unsubscribe: , List-Archive: Date: Sat, 27 Oct 2001 20:15:37 -0400 Status: RO X-Status: A Content-Length: 3160 Lines: 67 Erik Andersen wrote: > > I started a little web page where I am documenting what I > have learned. I would love to get some feedback -- > especially feedback from the rebol.com or corel.com hardware > people. :-) San Mehat wrote the original NeTTrom RAM detection, with Woody Suwalski expanding it for some more chip types. I was the last person to touch it, and I added 256 MB support. Ralph Siemsen hacked the Linux kernel to get it work with 256 MB, as the max for ARM was 128 MB at the time. To understand RAM on the NetWinder, you need to understand the Footbridge ("21285 Core Logic for SA-110 Microprocessor"). ftp://ftp.netwinder.org/pub/netwinder/docs/intel/datashts/27811501.pdf Specifically, look at chapter 4, table 4-1, and the largest chips supported, 64Mbit ones. There are two ways to get an array of 64 Mbytes: 64 Mbit chip = 2 banks x 8M x 4 bits (8Mbytes total) 64 Mbit chip = 4 banks x 4M x 4 bits (8Mbytes total) In either case, we need eight of these to get 32 bit wide memory. 8 chips = 1 array = 64 Mbytes = double-sided 16 chips = 2 arrays = 128 Mbytes = double-sided, double-height So one would think the maximum SO-DIMM is 128 MB, but, the Footbridge supports 4 arrays of memory, not just 2! So let's play with a larger chip, 128Mbit ones to be exact: 128 Mbit chip = 4 banks x 8M x 4 bits (16Mbytes total) * 128 Mbit chip = 4 banks x 4M x 8 bits (16Mbytes total) 128 Mbit chip = 4 banks x 2M x 16 bits (16Mbytes total) The second one is used on my 256Mbyte, double-sided, double-height SO-DIMM. Notice that it is twice as wide as the 64 Mbit ones, but it has the same addressing (4 banks x 4M). So we can use them, but only need half as many! 4 chips = 1 array = 64 Mbytes = single-sided 8 chips = 2 arrays = 128 Mbytes = double-sided 16 chips = 4 arrays = 256 Mbytes = double-sided, double-height There are also 256Mbit and 512Mbit chips available today, but as you might have guessed, they are also more expensive: 512Mbit chip = 4 banks x 32M x 4 bits (64Mbytes total) 512Mbit chip = 4 banks x 16M x 8 bits (64Mbytes total) 512Mbit chip = 4 banks x 8M x 16 bits (64Mbytes total) We can't use any of the above without some digital magic, as the Footbridge doesn't have enough addressing lines. 256Mbit chip = 4 banks x 16M x 4 bits (32MBytes total) 256Mbit chip = 4 banks x 8M x 8 bits (32MBytes total) * 256Mbit chip = 4 banks x 4M x 16 bits (32MBytes total) The last one here is the same case as before, twice as wide again. So it should be possible to use those on a single-height SO-DIMM 2 chips = 1 array = 64 Mbytes = single-sided 4 chips = 2 array = 128 Mbytes = single-sided 8 chips = 4 arrays = 256 Mbytes = double-sided In theory at least, as I've never tried one of these. It is important to note that the NeTTrom code looks for specific chips, and doesn't probe every possibility. Though a given SO-DIMM may be supported in hardware, the NeTTrom may not detect it properly. -- Andrew E. Mileski Ottawa, Canada _______________________________________________ support mailing list support@netwinder.org http://www.netwinder.org/mailman/listinfo/support From support-admin@netwinder.org Sat Oct 27 21:00:26 2001 Return-Path: Delivered-To: andersen@codepoet.org Received: from netwinder.org (kei.netwinder.org [209.202.115.26]) by winder.codepoet.org (Postfix) with ESMTP id 67FA3157561 for ; Sat, 27 Oct 2001 21:00:25 -0600 (MDT) Received: from localhost ([127.0.0.1] helo=kei.netwinder.org ident=mailman) by netwinder.org with esmtp (Exim 3.22 #1) id 15xgBP-00079H-00; Sat, 27 Oct 2001 23:00:19 -0400 Received: from codepoet.org ([166.70.14.212] helo=winder.codepoet.org) by netwinder.org with esmtp (Exim 3.22 #1) id 15xgAz-00078o-00 for support@netwinder.org; Sat, 27 Oct 2001 22:59:53 -0400 Received: by winder.codepoet.org (Postfix, from userid 1000) id D6898157D6F; Sat, 27 Oct 2001 20:59:56 -0600 (MDT) From: Erik Andersen To: "Andrew E. Mileski" Cc: support@netwinder.org Subject: Re: [support] Maxing out the NetWinder's RAM... Message-ID: <20011027205956.A2655@codepoet.org> Reply-To: andersen@codepoet.org References: <3BDB4E29.B376B134@sympatico.ca> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3BDB4E29.B376B134@sympatico.ca> User-Agent: Mutt/1.3.22i X-Operating-System: 2.4.12-ac3-rmk2, Rebel NetWinder (Intel StrongARM-110 rev 3), 185.95 BogoMips X-No-Junk-Mail: I do not want to get *any* junk mail. Sender: support-admin@netwinder.org Errors-To: support-admin@netwinder.org X-BeenThere: support@netwinder.org X-Mailman-Version: 2.0.6 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Technical support for NetWinder List-Unsubscribe: , List-Archive: Date: Sat, 27 Oct 2001 20:59:56 -0600 Status: RO Content-Length: 3048 Lines: 74 On Sat Oct 27, 2001 at 08:15:37PM -0400, Andrew E. Mileski wrote: > Erik Andersen wrote: > > > > I started a little web page where I am documenting what I > > have learned. I would love to get some feedback -- > > especially feedback from the rebol.com or corel.com hardware > > people. :-) > > San Mehat wrote the original NeTTrom RAM detection, with > Woody Suwalski expanding it for some more chip types. I was > the last person to touch it, and I added 256 MB support. > Ralph Siemsen hacked the Linux kernel to get it work with > 256 MB, as the max for ARM was 128 MB at the time. > > To understand RAM on the NetWinder, you need to understand the > Footbridge ("21285 Core Logic for SA-110 Microprocessor"). > > ftp://ftp.netwinder.org/pub/netwinder/docs/intel/datashts/27811501.pdf > > Specifically, look at chapter 4, table 4-1, and the largest chips > supported, 64Mbit ones. Thanks! Those tables look quite helpful. I think there is one more piece I am still missing -- the SODIMM modifications... I want to understand the principles behind the mods to my current SODIMM, and hopefully get pics of other modified SODIMMs and understand the reason for the mods. This should then allow me to purchase (if necessary) the right kind of memory, and modify it. The NeTTrom on my NetWinder reports I currently have "64 megs/ 4 banks", so I assume I have: 64 Mbit chip = 4 banks x 4M x 4 bits (8Mbytes total) 8 chips = 1 array = 64 Mbytes = double-sided But looking at the ram http://codepoet.org/ram/sd820030.jpg http://codepoet.org/ram/sd820032.jpg I see that 4 of the chips (2 on the front and 2 on the back) seem to have been left stock, while 2 of the chips on the back side of the SODIMM have their Chip Select line wired to pin 69 on the SODIMM (with the original CS trace most likely cut), and 2 of the chips on the frontside have their Chip Select line wired to pin 71 on the SODIMM (also with the original CS line probably cut). The SODIMM specs say that pin 69 is S0# (chip select 0) and SODIMM pin 71 is S1# (chip select 1). As near as I can tell from the SODIMM spec, I believe that prior to the hardware mod, all 4 chips on the front of the SODIMM were wired to S0#, and all 4 chips on the back of the SODIMM were wired to S1#. After the mod it looks like 1/2 the RAM on the front of the SODIMM is wired to S0#, and the other half is wired to S1#. Same deal with the back of the SODIMM. What I don't understand yet is _why_? I'm guessing it has something to do with the fact the 21285 has 4 chip select lines, while the SODIMM has only 2 -- but for the life of my I just don't seem to get it. Is there any way you could clue me in? Also, is there any chance I could get some hi-res pics of your 256 Meg NetWinder SODIMM? -Erik -- Erik B. Andersen http://codepoet-consulting.com/ --This message was written using 73% post-consumer electrons-- _______________________________________________ support mailing list support@netwinder.org http://www.netwinder.org/mailman/listinfo/support