Re: Problem replacing a Samsung K9F1208U0M NAND flash chip with ST NAND512W3A
Hi Santanu, On Sunday 04 November 2007 12:34, Santanu Sen wrote: Facing some trouble replacing a SAMSUNG K9F1208U0M with an ST NAND512W3A. I know it is criminal, but we are still using the 2.4 kernel. The excuse is, it is impossible to port all our code/drivers to 2.6 within the project deadline. I know the feeling... Here is the story. We could successfully install JFFS2 on a Samsung K9F1208U0M NAND chip mounted on a board running linux-2.4.20 on a ppc852 processor. Hmmm, I would go for the newest 2.4.x kernel release from kernel.org. JFFS2 support there is reportedly more stable, AFAIK. Anyway, these are just my 2 cents. HTH, -- Ricardo Scop. \|/ ___ -*- (@ @)/|\ / V \| R SCOP Consult. /( )\ Linux-based communications --^^---^^+-- [EMAIL PROTECTED] +55 51 999-36-777 Porto Alegre, RS - BRazil ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: ppc_8xx-gcc from eldk strange behaviour
Hi, Antonio On Tuesday 28 August 2007 15:56, DI BACCO ANTONIO - technolabs wrote: Consider the following C code snippet: [snip] char x = -4; [snip] If I compile it with host gcc, there is no warning and the message x is negative is printed. If I compile it with ppc_8xx-gcc there is a warning main.c:11: warning: comparison is always false due to limited range of data type and the program prints message x is positive. To correct the problem I have to put signed before char. You can also use the -fsigned-char compilation flag, in this case. -- Ricardo Scop. ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: can you help me
On Thursday 14 June 2007 04:57, volcano wrote: hi all : I have been reading the U-BOOT code based on mpc8260 these days.Can you show me where can I find the document which have the explaination of the whole code . thanks. You should start here: http://www.denx.de/wiki/DULG -- Ricardo Scop. ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: Linux interrupt managing on 8xx
On Monday 04 June 2007 17:37, DI BACCO ANTONIO - technolabs wrote: I have a component named pca9555 (on the i2c bus) that is an I/O expander. It can generate an interrupt to the MPC8xx processor (SIU_IRQ1 pin). This pin will be active till I read registers of pca9555. Because I cannot access the i2c bus in the interrupt handler I queue a work on a work queue. Just at the end of the interrupt handler should I disable the interrupt on the mpc8xx? I think that otherwise the interrupt will pop up again till I execute the work in the work queue finally reading the pca9555 and shutting off the source of the interrupt. Well, why don't you simply program the interrupt to be edge-triggered in the SIEL register? This way it will only occur again after the pin level is cleared. HTH, Ricardo. ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: CPM2 SCC/SMC break handling broken
Hi Laurent, On Friday 27 October 2006 07:01, Laurent Pinchart wrote: Hi Ricardo, Hi everybody, I need to generate a break on a CPM2 SMC serial port (same issue with SCC serial ports). The tcsendbreak() man page states that the function should generate a break between 250ms and 500ms, but testing showed that the break is one character long (10 bits in 8N1 mode). [snip] CPM_CR_STOP_TX is documented to generate a break of BRKCR characters. The BRKCR register is initialized to 1, so only 1 break character is sent, which won't last between 250ms and 500ms. [snip] Could anyone think of a proper solution which would not disturb the other drivers too much ? Well, one could always set the BRKCR parameter to the maximum number of break characters permitted by it's size, since the break condition will anyway end as soon as the RESTART TX command is issued as a consequence of the tty-driver-break_ctl(tty, 0) call. But I did not test this. That's a very good idea, but the documentation is a bit misleading here. I tested the CPM2 behaviour, and found out that the break will last BRKCR characters, even if a RESTART TX command is sent sooner. The user manual states The SMC sends a programmable number of break characters according to BRKCR and reverts to idle or sends data if a RESTART TRANSMIT is issued before completion. I suppose they meant that, if a RESTART TX command is issued before completion of the break sequence, the SMC will send data at the end of the break sequence. This is at least the behaviour I noticed after trying your idea. Too bad :( One more good idea to the junk bin. Hmm, just a wild shot you can try, while you're at that: what about setting BRKCR to zero and issuing another STOP TRANSMIT, just before the RESTART TRANSMIT? Another reasonable shot would be to disable and reenable the transmitter in an attempt to stop the break sequence; though I don't know what happens to the SMC state machine in this case. Too wild guesses? Well, maybe someone at Freescale can have a better idea. :) Best regards, Ricardo Scop. ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: CPM2 SCC/SMC break handling broken
On Thursday 26 October 2006 06:02, Laurent Pinchart wrote: Hi everybody, I need to generate a break on a CPM2 SMC serial port (same issue with SCC serial ports). The tcsendbreak() man page states that the function should generate a break between 250ms and 500ms, but testing showed that the break is one character long (10 bits in 8N1 mode). [snip] CPM_CR_STOP_TX is documented to generate a break of BRKCR characters. The BRKCR register is initialized to 1, so only 1 break character is sent, which won't last between 250ms and 500ms. [snip] Could anyone think of a proper solution which would not disturb the other drivers too much ? Well, one could always set the BRKCR parameter to the maximum number of break characters permitted by it's size, since the break condition will anyway end as soon as the RESTART TX command is issued as a consequence of the tty-driver-break_ctl(tty, 0) call. But I did not test this. HTH, -- Ricardo Scop. \|/ ___ -*- (@ @)/|\ / V \| R SCOP Consult. /( )\ Linux-based communications --^^---^^+-- [EMAIL PROTECTED] +55 51 999-36-777 Porto Alegre, RS - BRazil -- P. S.: If you have any trouble sounding condescending, find a Unix user to show you how it's done. -- Scott Adams, creator of Dilbert ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
MPC8260 fcc_enet transmit timed out
Hi, Hubert On Monday 14 November 2005 15:34, hubert loewenguth wrote: Hello to the community After having searched more than a week to correct my problem, I have finally decided to try to find some help : - I have a board with a MPC8260 (HIP 3 C.2), with three PHY chipset : LXT971A from intel - The MII lines MDC and MDIO are present, but I have no PHY interrupt line = so I have to configure my PHY and the fcc_enet.c drivers to be in half-duplex mode - I use the 2.4.20 linux kernel ^^ You could try a newer version, maybe the problem is already gone. HTH, -- Ricardo Scop. \|/ ___ -*- (@ @)/|\ / V \| R SCOP Consult. /( )\ Linux-based communications --^^---^^+-- rscop at matrix.com.br +55 51 999-36-777 Porto Alegre, RS - BRazil -- P. S.: If you don't have time to do it right, when will you have time to do it over? -- Penny Hines
How to limit the log file size?
Hi Rober, On Wednesday 21 September 2005 23:07, EMAIL wrote: Hi all: There are some daemon like snmpd, boa...has log file at directory var, I want to know how to limte it's file size? I'm using emlog module (http://www.circlemud.org/~jelson/software/emlog/) to create circular buffers that are used as log files instead of regular ones. You can define the file size when it is created; runs smoothly and flawlessly. HTH, -- Ricardo Scop. \|/ ___ -*- (@ @)/|\ / V \| R SCOP Consult. /( )\ Linux-based communications --^^---^^+-- rscop at matrix.com.br +55 51 999-36-777 Porto Alegre, RS - BRazil -- P. S.: If you don't have time to do it right, when will you have time to do it over? -- Penny Hines
Linux Kernel MTD question
Hi Johnson, On Tuesday 23 August 2005 02:31, JohnsonCheng wrote: It doesn't work, too. Error message: Invalid argument. Well, do you have an mtdblock4 entry in /dev? Also, you should specify your filesystem type to mount, like in: mount -t jffs2 /dev/mtdblock4 /mnt BTW, -t jffs2 is just an example. HTH, -Scop.
Serial console
Hi Daniel, On Friday 29 July 2005 22:06, Daniel Ann wrote: Hi folks, Just wondering if anyone could lend a hand with this problem I have with serial console. I'm trying to boot up my board (very similar to sandpoint using MPC8245) with kernel 2.6.12.3, and most of it is working but console will display up to, [snip] RAMDISK: Compressed image found at block 0 VFS: Mounted root (ext2 filesystem) readonly. Freeing unused kernel memory: 112k init I've done series of printk in sys_execve() to see if /sbin/init is working, and found out it went thru the whole rcS file okay. Mind you, printk is successfully displaying the output on the console while I'm still not getting anything from the user processes. Having all the kernel boot up log on console means that I've done some part right. But why am I not getting anything from the user processes on the console screen ? Please verify that you have a /dev/console in your rootfs, and that it's being correctly acessed by the init process. HTH, -- Ricardo Scop. \|/ ___ -*- (@ @)/|\ / V \| R SCOP Consult. /( )\ Linux-based communications --^^---^^+-- rscop at matrix.com.br +55 51 999-36-777 Porto Alegre, RS - BRazil
eth0 autonegotation 8260
Hi, Samuel On Thursday 30 June 2005 13:01, Samuel Osorio Calvo wrote: First of all , thanks to all who replied, It is definetely related to interrupts since starting the target without the eth wire plugged enables me to login into the board. Of course, without network connectivity..and whenever the wire is connected -the board freezes again (no message, no panic, nothing). Well, some fcc-related interrupt is problably ocurring, then. You should attach a BDI2000 to continue debugging, or at least put some printk in fcc_enet code to see which interrupts are ocurring and what happens then. The boot process seems everything ok, the request_irq returns ok for both the mii and the fcc. I am not using a commercial board and some tuning were made to the kernel to adjust to the hardware configuration, mainly clocks and MDIO pins. I took changes somebody made with DENX's 2.4.18 and ported them to 2.4.25, probably forgeting something in the waymay be something related to interrupts interfaces has changed since then??? Yes, many things may have happened, but we don't know what because we don't have your ported code... HTH, -Scop. .o. ..o ooo (http://www.catb.org/hacker-emblem/)
Fast Ethernet device driver for MPC885
Hi Sophie, On Thursday 23 June 2005 06:09, scarayol at assystembrime.com wrote: Hi all. I use a custom board with a MPC885 microprocessor. I want to test the Ethernet chain on my board so i made an external loopback on the Ethernet port. I want to transmit datas and read the received datas. Which driver have i to use and which name to open it. I don' see any driver that seems to be the fec one in /dev/.. Well, fec registers as a network device, so you should use the sockets API to access it. I think i have to use the routines in pqfec.c instead of fec.c. Don't know about them, sorry. But I don't know how the driver works. Which kind of driver is it and how access to the routines from user space in order to do my tests ? Read above. man socket is a good start. HTH, -- Ricardo Scop. \|/ ___ -*- (@ @)/|\ / V \| R SCOP Consult. /( )\ Linux-based communications --^^---^^+-- rscop at matrix.com.br +55 51 999-36-777 Porto Alegre, RS - BRazil -- P. S.: If you don't have time to do it right, when will you have time to do it over? -- Penny Hines
Newbie question on Linux-PPC
Hi Srivatsan, On Thursday 02 June 2005 04:41, Srivatsan CR wrote: Hi all, Thanks everyone for the time. It's done and I have it working. I have another question regarding MAC address in Linux. I had ported U-boot onto our customized board (MPC8280 based). It is working fine. I am also able to boot a Linux Kernel. The Kernel version is Linux-2.4.20 . We set the MAC address for the board in U-boot as 00:FD:11:01:01:01. But when the Linux Kernel boots it takes the MAC as 00:FD:81:01:01:01. I have confirmed that the U-boot passes the MAC address properly to the Linux Kernel properly. Can anyone guide me to where to look out for the issue stated above in the Linux code? Check if there're some hack in fcc_enet.c driver code, regarding the MAC address setup. HTH, -- Ricardo Scop. \|/ ___ -*- (@ @)/|\ / V \| R SCOP Consult. /( )\ Linux-based communications --^^---^^+-- rscop at matrix.com.br +55 51 999-36-777 Porto Alegre, RS - BRazil -- P. S.: If you don't have time to do it right, when will you have time to do it over? -- Penny Hines
[PATCH 02/04] Freescale Ethernet combined driver
Hi Pantelis, On Monday 09 May 2005 08:44, Pantelis Antoniou wrote: Hi The following patch is a combined FCC/FEC ethernet driver for the Freescale line of PowerQUICCs. FECs on 8xx and FCCs on 82xx are supported. This part of the patch contains the core driver. and, inside the patch: +#if LINUX_VERSION_CODE KERNEL_VERSION(2,5,0) Does this mean that the code is designed to be backwards compatible to 2.4.x kernel code? If so, I could give it a try and, maybe, even make sure that it keeps such compatibility. Best regards, -- Ricardo Scop. \|/ ___ -*- (@ @)/|\ / V \| R SCOP Consult. /( )\ Linux-based communications --^^---^^+-- rscop at matrix.com.br +55 51 999-36-777 Porto Alegre, RS - BRazil -- P. S.: If you don't have time to do it right, when will you have time to do it over? -- Penny Hines
Impact of change n port size
Hi Atit, On Monday 18 April 2005 01:31, Atit_Shah wrote: Hi All, I have a kernel image which works perfectly for my reference board. When I try to port the same image on my board I seem to be facing problems. Like what? The only difference I see between the reference board and my board is the port size and capacity of RAM. And hw design, board layout, ... I have taken care of sending the right value for the RAM size through BD_INFO. Would there be and where all would the change be, if any, in the kernel code OR when I make the kernel image ie through make menuconfig / menu xconfig required to be made for port size of RAM? Well, if you're using PPCBoot or U-Boot to boot Linux, what you've done would be enough. OTOH, as you have a new hardware design you should check the SDRAM controller initialization in the bootloader code. It may be sligthly wrong, so the bootloader runs but the OS doesn't, because Linux really stresses out RAM operation in burst mode. (BTW, this is a FAQ, if appliable). Out of curiosity what would be the change required for different FLASH port size again on the kernel side. Look for the MTD parameters in the kernel compilation options. HTH, -- Ricardo Scop. \|/ ___ -*- (@ @)/|\ / V \| R SCOP Consult. /( )\ Linux-based communications --^^---^^+-- rscop at matrix.com.br +55 51 999-36-777 Porto Alegre, RS - BRazil
HW + SW development tools for embedded linux (was Re: using initramfs with ppc)
Hi Manoj, On Monday 18 April 2005 21:36, Manoj Padhi wrote: Pawel, I am new to embedded linux development and planning to develop a small project using embedded linux. You failed to mention your project's budget :). I looked for an evaluation kit in the market and it comes around $1100 + development tool licence (starts at $6K). Hence I need some advice ^^^ ELDK is free and probably better (GNU tools rock!) regarding getting an custom board and use free tools. Can you suggest such a board. We bought an RPXlite once and it worked well (sorry, but I don't remember the price, please google the net). Cheers, -- Ricardo Scop. \|/ ___ -*- (@ @)/|\ / V \| R SCOP Consult. /( )\ Linux-based communications --^^---^^+-- rscop at matrix.com.br +55 51 999-36-777 Porto Alegre, RS - BRazil
CPM uart
Hi Marco, On Thursday 14 April 2005 09:54, Marco Schramel wrote: Hi Dan, thanks for your answer. During booting kernel hangs on initializing ttyS2 forever. That is the console port, so take a look at the code for its initialization for something affected by this configuration. What kernel are you using? There have been lots of updates in recent versions. I use kernel version 2.4.25 of denx and the uart version is ^^ Perusing that code, I can see that the console routines assume that there are _no_ SMC ports initialized before the SCC ports in rs_table. This should be fixed before attempting to run your system again. I suggest you to seek all smc_scc_num references inside both the console routines and the #ifdef SCC_CONSOLE ... #endif code snippets. They should be subtracted by SCC_NUM_BASE whenever they're used to access SCC-related stuff, AFAIK. HTH, Ricardo Scop. \|/ ___ -*- (@ @)/|\ / V \| R SCOP Consult. /( )\ Linux-based communications --^^---^^+-- rscop at matrix.com.br +55 51 999-36-777 Porto Alegre, RS - BRazil
FEC support for 8260 in kernel 2.4.25
Hello T, Friday, April 23, 2004, 8:23:37 PM, you wrote: TMT I am working on a kernel port to an 8260 board that TMT has all three FCCs wired up to PHYs (BCM5221). TMT The first FCC is working fine, but I haven't been TMT successful with getting FCC2 and FCC3 going yet. TMT Is anybody out there successfully using the 2.4.x TMT fcc_enet.c code with all three channels active? Yes! Cheers, -Scop. Best regards, Ricardomailto:scop at digitel.com.br ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Network problem: Ping is OK, Yet telnet and ftp etc is not working
Jack On Wednesday 31 March 2004 21:49, Jack Liu wrote: Thanks. This chip is supported in linux kernel by tulip driver. { 0x1317, 0x0985, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET } And I compared the driver with 2.6 driver(Currently I am using 2.4.21 kernel), no related difference. So I thought this should not be a bug in this driver(maybe). When I ftp and telnet myself, it is ok. So the stack should be OK. So now I have no idea about the direction to find the problem. Please advice me. First, my previous advice was related to your ping problem when the interface was not in promiscuous mode. For the telnet problem, you have to use a sniffer and see what's happening in the ethernet... Sorry, I have no further advice unless you provide more useful information. HTH, === 2004-03-31 15:45:00 Origianl message=== On Wednesday 31 March 2004 00:02, Jack Liu wrote: We use ADMTek AN983B chip as our network chip. And I have porting linux to this MPC8241 platform.Now I have a very strange problem: If I ping my target, no answer. When I start tcpdump on my target, the ping ... works fine. Since the hardware is put into promiscuous mode when tcpdump is running, So I use ifconfig to put NIC work in promiscuous mode. I thought it can temporarily solve the problem. Now ping is OK. However When I telnet other machine, no answer.And When I telnet my target, still no answer. I thought it may because of firewall. So I undef CONFIG_NETFILTER in .config and autoconf.h. Still the same. So what could be the problem? Well, check your interface's IP addressing for a wrong broadcast address; your may also have a misconfiguration in your hardware's drivers, related to the the MAC address and/or broadcast address matching. -- Ricardo Scop. rscop at matrix.com.br +55 51 999-36-777 Porto Alegre, RS - BRazil ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
MPC8xx SCC for sync. HDLC on 2.4 kernel
Hi, On Tuesday 27 January 2004 14:23, Jos Beck wrote: I am trying to build a synchronous HDLC driver for the SCC of the MPC850/860 under linux kernel 2.4.22 I have got one working on a 2.2.5 kernel and one buggy, async only, for the 2.4 kernels. What would be the best approach: porting the 2.2.5 driver to the 2.4.x kernel or digging into the driver (ehdlc.c by Rodolfo Giometti based on Dan Malek's enet.c) to make it work for sync HDLC at high speeds? Or an alternative? Well, I have a driver that works both for MPC860 and MPC8260, over linuxppc 2.4.21 and with recent patches of the Generic HDLC Layer. I'm sending it separately because it's to big for the list. Best regards, Jos Beck -- Ricardo Scop. --___ / ___ \ \_(@ @)_/ / V \ R SCOP Consult. /( )\ Linux-based communications / ^^---^^ \ - rscop at matrix.com.br +55 51 999-36-777 Porto Alegre, BRazil ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
close to porting success.....
Hello Qsyang, Sunday, December 14, 2003, 11:21:08 PM, you wrote: Q Thanks a million. My BDI2000 configuration file is quite simple Q because i try to keep a clean CPU environment when using BDI Q Debugger.The config file is printed below: Q [INIT] Q ; init core register Q WSPR 149 0x2006000F ;DER : enable SYSIE for BDI flash progr. Q WSPR 638 0xFF00 ;IMMR : internal memory at 0xFF00 Q WSPR 158 0x0007 ;ICTRL: not serialized, no show cycles Q ; init SIU register Q WM32 0xFF00 0x00200400 ;SIUMCR Q WM32 0xFF04 0xFF03 ;SYPCR :enable bus monitor, disable software watchdog Q [TARGET] Q CPUTYPEMPC800 Q CPUCLOCK5000 ;the CPU clock rate after processing the init list Q Q Q What's wrong in this file? I don't think anything mentioned here Q about UPM, so...? So, mas guess was wrong :(. SDRAM initialization is done in uBoot... and works well whilw running with a BDI2000. Sorry, I'm out of ideas right now :( Good luck, -Scop. MPC8xx's sdram initialization is related to UPM init and this is not so simple. Copy the initialization code from BDI2000 to uboot I am porting U-boot-1.0.0 to my custom MPC8xx board and success is being expectted coming soon(maybe too conceited^^). Now i have a question which describes below. So far it is working fine when i am using BDI2000 and runing 'BDIgo 0x02800100' in Telnet console,and then all the U-boot commands are working very well. But when i disconnected BDI and power on board directly ,U-Boot crasheed after relocation to RAM. FAQ say that SDRAM initialization is bad ,if this is the case why it is OK when using BDI to boot it. What's the difference between the two conditions? Maybe some hardware problem? ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
close to porting success.....
Hi Qsyang: On Friday 12 December 2003 04:36, Qsyang wrote: dear all, I am porting U-boot-1.0.0 to my custom MPC8xx board and success is being expectted coming soon(maybe too conceited^^). Now i have a question which describes below. So far it is working fine when i am using BDI2000 and runing 'BDIgo 0x02800100' in Telnet console,and then all the U-boot commands are working very well. But when i disconnected BDI and power on board directly ,U-Boot crasheed after relocation to RAM. FAQ say that SDRAM initialization is bad ,if this is the case why it is OK when using BDI to boot it. What's the difference between the two conditions? Maybe some hardware problem? Maybe there's some SDRAM controller initialization in BDI2000 configuration file that's missing in your U-boot code. You should check this first. Have fun, -Scop. Any help would be highly appreciated ! Qsyang ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
8270 performance
On Monday 08 December 2003 17:50, Jaap-Jan Boor wrote: Hi, I've a modified 2.4.22 kernel built with gcc 3.3.2 running on a 8270 system here and see the following cpuinfo: # cat /proc/cpuinfo cpu: 82xx (Hip7) core clock : 266 MHz CPM clock : 166 MHz bus clock : 66 MHz revision : 32.17 (pvr 8082 2011) bogomips : 175.71 I would expect the bogomips number to be somewhere near the core clock (like 8xx). Well, I think the numbers are pretty fair, assuming that the bogomips number reflect a certain amount of external memory accesses at 66 MHz external bus clock. Any experience? Thanks Yes, we have a 8250' powered custom board running at: - cpu_clk 196608000, cpm_clk 16384, bus_clk 65536000 Our ported good old PPCBoot 1.1.5 reports: CPU: MPC8260 (Rev 14, Mask unknown [immr=0x0062,k=0x002d]) at 196.608 MHz And the 2.4.21 kernel: Calibrating delay loop... 130.66 BogoMIPS HTH, -Scop. Jaap-Jan --- J.G.J. Boor Anton Philipsweg 1 Software Engineer 1223 KZ Hilversum AimSys bv tel. +31 35 689 1941 Postbus 2194, 1200 CD Hilversum mailto:jjboor at aimsys.nl ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Question on PPC
On Tuesday 25 November 2003 09:59, Ajay wrote: Hi All, I am planning to port linux-2.4.22 kernel to our custom hardware board which is based on PPC8250, I was searching for the ppc patch file for to apply to linux-2.4.22 kernel, but tough luck, Could you please point out the right source. I as trying from last two days to access www.linuxppc.org and www.linux.ppc.org but seems that server is down from long time as I can not access these web sites. Any comments!! One last question is if I am not lucky to get linux-2.4.22 patch for PPC I would like to try to add support for linux-2.4.22 could you please suggest correct point to start? I am thinking that I can start from linux-2.4.18 kernel and listing all the files that has been patched for PPC and try to manually patch at first time, If lucky I could get through, is my approach correct. Any pointers!!! www.penguinppc.org is what you need! HTH, -Scop. Thanks and warm regards, Ajaya babu ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Where can I find driver for mpc8250 or mpc8266 ?
Hi, Tony For which peripheral do you want the driver: FCC or SCC? -Scop. On Tuesday 20 May 2003 10:24, ?? ?? wrote: Hi, I'm working on linux project of hdlc driver(mpc8266). I can't find it on website or linux forum. So Anyone let me know that. Thanks Tony kim ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Linux training
Hello Steven, Friday, April 04, 2003, 1:13:08 PM, you wrote: SB I was wondering if anyone can direct me to training courses on porting SB embedded Linux to single board computers. Thank you for any direction and I SB welcome all comments. I know that Red Hat has something in this line. Look up at their web site. Best regards, Ricardomailto:scop at digitel.com.br ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
thttpd and CGI on MPC 850
On Wednesday 02 April 2003 19:27, Mark Hatle wrote: Srini Amble wrote: Pardon me for posting this message to this mailing list ( it does not quite belong here) I have thttpd (version 2.23beta1) running on my MPC850 board. When I submit a FORM which in turn invokes a CGI program (written in C) the console output freezes and I get the error An error occurred while loading http://192.168.0.128/cgi-bin/example.cgi; on the browser window. Just a wilg guess: did you check file permissions? HTH, -Scop. ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
[PATCH] arch/ppc/8xx_io/enet.c
On Wednesday 23 October 2002 05:51, Joakim Tjernlund wrote: On Monday 21 October 2002 15:13, Joakim Tjernlund wrote: Hi Here is a patch to drop the expensive memcpy of received ethernet frames in interrupt context. I have not done any bench marking, but mounting a NFS rootfs feels faster. I am using a heavily modified enet.c in my system, but I think I got the patch correct. Also fixed a bug in set_multicast_list(), move the dmi list forward when walking it(dmi = dmi-next;) Comments? Anyone care to do some benchmarking? No comments so far, no one interested in this? I'm interested! Indeed, I adapted and tested your patch in a 8260 FCC fast ethernet driver and it worked fine I had a 20% increase in routing throughput with the patch installed! The bug fix in set_multicast_list worked too. But, since there's a continue clause inside the for command in this routine, I would suggest that the (dmi=dmi-next) command go inside the for increment clause, instead of the place you've put it; that is: for (...;...; i++, dmi = dmi-next) {...} A question, why do enet.c pass bad frames to netif_rx? Only late collisions are disregarded, the rest is passed on. IMHO, this is another bug... ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
[PATCH] arch/ppc/8xx_io/enet.c
On Wednesday 23 October 2002 13:32, Ricardo Scop wrote: On Wednesday 23 October 2002 05:51, Joakim Tjernlund wrote: [snip] No comments so far, no one interested in this? I'm interested! Indeed, I adapted and tested your patch in a 8260 FCC fast ethernet driver and it worked fine I had a 20% increase in routing throughput with the patch installed! I forgot to mention the bad news. The increase mentioned above was obtained with large packets (1500 bytes) traversing our board. With very small packets (64 bytes), we experimented a 10% DEcrease in PPS (packets per second). We're still testing, but I guess the overall performance will be better with the patch installed. -Scop ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
help needed for porting linux-2.5 to a ppc custom board
Hello Piyush, I'm not really an expert, so I'll help only with what I know. Read below. I'm also relaying this message to the public list, so they can help you further, possibly correcting me if I'm wrong :o) []'s, Scopmailto:scop at digitel.com.br -- It might look like I'm doing nothing, but at the cellular level I'm really quite busy. Wednesday, September 18, 2002, 4:49:15 AM, you wrote: Aa Hello Ricardo, Aa Thanks a lot for your replies. snip Aa Actually my requirement is to have printk messages and kgdb prints coming Aa from this uart. Is this possible to have printk-msgs while running kernel Aa in kgdb mode? Sorry, I never used kgdb on my custom board (we have a BDI2000!). Aa Sometimes my requirement is to connect some other serial device to the Aa uart and that time i want to store printk messages some where else or Aa dump through network-interface. AFAIK, you can always get printk messages through /proc/kmsg. I don't know if there's an already implemented way of inhibiting them from going to the debug console. Aa After going through the arch/ppc/8*_io/uart.c files, I have the Aa following doubts :- Aa 1. After rs_8xx_init() is called, do the printk messages come out Aa of this port using serial_console_write() function? No, AFAIK. Aars_8xx_init() is called from tty_init() from chr_dev_init() Aa which will also call init's() of other character drivers, whose Aa debugging printk's i want to come through this port. Aa 2. If not, is it the case that this uart is unregistered from list Aa of consoles? No, neither that. The uart port is used for both purposes concurrently. Aa Regards, Aa Piyush. ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
help needed for porting linux-2.5 to a ppc custom board
Atm :-), A good starting point is http://penguinppc.org/embedded/howto/PowerPC-Embedded-HOWTO.html. IMHO, porting a good bootloader/monitor to your board, like PPCBoot, is half the way to go. I hope that helps... Ricardo Scopmailto:scop at plugin.com.br -- It might look like I'm doing nothing, but at the cellular level I'm really quite busy. Saturday, September 14, 2002, 4:34:28 AM, you wrote: Aa We want to run linux on a custom board having ppc603ev. Aa We have identified the following tasks :- Aa processor-specific tuning, Aa board related changes (io_block_mapping, pic etc.) Aa serial driver for uart device. Aa pci,timer initialisations. Aa There is 4mb flash on the board (for storing vmlinux.gz) Aa No hard disk. Aa Since, there is only 1 uart port, how can we use it for Aa console-login and dumping printk messages? Aa How should we start identifying changes to be done in Aa kernel source (mostly arch/ppc)? Is there any resource Aa available on internet for porting linux to a powerpc/any Aa board ? ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
BDI2000 on an 8250 (revisited)
Hi, Jean-Denis and folks I've just followed a thread on this list about the issue above and would like to be informed of any further developments. We're about to receive some samples of the MPC8250 processor chips to put in place of the MPC8260 in our custom board. If someone knows of any special condition that should be provided to BDI2000 in order to debug the board, we would be very glad to know about it _before_ firing up the board :-) Thanx in advance R Scop Digitel S/A ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
LXT972 FEC problem on MPC855
Shawn: Maybe I have a contribution... On Monday 26 August 2002 18:32, Xiaogeng (Shawn) Jin wrote: You are passing bad/insufficient boot arguments to the Linux kernel; unfortunaltely you don;t show us this part of the boot messages, so I cannot even guess what you're doing wrong. Finally I figured out the problem and solved it. The problem is that the kernel didn't get the LINK status correctly. The 'fep-link' was always 0 which means the link is down or autonegotiation is in progress. In the code which defines 'phy_info_lxt971', it says that somehow LXT971 tells me that the link is down when the first read after power-up. So you have to read MII_REG_SR to set 'fep-phy_status' accordingly. But in my case, the read action occurred too early to wait till the link is up. So what I did is to delay 5s before reading MII_REG_SR during opening FEC device. I guess it takes the link a while to autonegotiate the speed. Hmm. I suppose PHY should interrupt when link status change, and therefore phy_status would be updated accordingly. So, maybe you have a problem with your board's PHY interrupt signal. Hope this helps. -Scop. ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Fwd: linuxppc_2_4_devel tree
Hi Khai, Well, it should be: rsync -avz --delete source.mvista.com::linuxppc_2_4_devel your_directory but I haven't tested it latelly. BTW, linuxppc_2_5 is now linuxppc-2.5 (_this_ I know for sure :-) HTH, Scop. On Thursday 08 August 2002 15:49, you wrote: Hi folks, Can someone tell me what's the exact rsync syntax to obtain the source code from mvista rsync server? Thanks, --Khai HotJobs - Search Thousands of New Jobs http://www.hotjobs.com ===8===End of original message text=== ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Can I run Linux without a file system?
Tim, Maybe initrd and linuxrc is enough for your system. Read the file initrd.txt in the Linux source tree Documentation sub-directory. []'s, Scopmailto:scop at vanet.com.br -- It might look like I'm doing nothing, but at the cellular level I'm really quite busy. Friday, June 21, 2002, 4:35:17 PM, you wrote: TL Thanks, Jason. TL I am new to linux kernel. I'll have the main TL application run from init(), so I wasn't planning TL to have a file system. Yes. You will always have SOME kind of filesystem. But this begs another question. How much do you know about Linux, and what are you really asking? TL If /proc and /dev is not really on any disk, what do TL I have to do to init or create /dev? Do I need ramdisk TL as a minumum requirement for linux? TL My main goal right now is to get the serial port TL to work, so I can do some debugging with the dumb TL terminal. After I do tty_register() in the serial TL driver, does linux assign /dev/ttyS to this device? The /proc filesystem is not really on any disk, just like /dev (I think) isn't on any disk, though they look like to us users that they are filesystems. TL Can you give me pointers on which file to read? Does this help? TL Yes. Thank you very much. :) ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Can I run linux without a file system?
Tim, See bellow... []'s, Scopmailto:scop at vanet.com.br -- It might look like I'm doing nothing, but at the cellular level I'm really quite busy. Friday, June 21, 2002, 4:42:34 PM, you wrote: TL I am interested in both input/output operation TL on the console. If I just set CONFIG_SERIAL_CONSOLE, TL will I be able read input from the console? TL The main application will be started from init(), TL and the application will need to read and write TL to the console. Are there are method to communicate TL to the serial port other than open(/dev/ttyS0)? Not AFAIK. The VFS (Virtual File System) is at the very heart of Linux and _is_ the abstraction used to deal with I/O devices. You don't need to try avoiding it. A simple initrd will do the job and can be as light as you make it. You don't need a filesystem to get output on the serial console you just need to enable the console with CONFIG_SERIAL_CONSOLE=y in your kernel configuration (atleast for mpc860 that all) but you will have a hard time producing much more than a blinking cursor if you boot a Linux kernel and have no application that it then can run on the root-filesystem - what would be the point of such a setup - 1MB kernel code for a blinking cursor on a serial port seems expensive. you get the network protocol stacks, too... ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Unhandled interrupt 0, disabled
Mr. Jean-Denis, I think I forgot to feed you back about that fix. We have a 8255, 1K22A mask, with linux 2.4.16, and the fix worked well, thanks! -- Scopmailto:scop at vanet.com.br -- We all lie in the gutter, but some of us look up at the stars. -- Oscar Wilde Friday, May 03, 2002, 12:22:00 PM, you wrote: Which fix are you standing behind your __sti() fix using the sync or the 2.4.18 patch ? JDB Just put the 'sync' in __sti(). JDB It seems to fix the problem on both 2.4.10 and 2.4.18, JDB which are the versions I have tested. I am using the B.3 version of the 8260 ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Position available for 8xx series programmer
Hi, Do you accept foreigners too ;-) ??? -Scop. Brazil On Thursday 02 May 2002 11:56, Hihn Jason wrote: Hello all, Danfoss Inc (www.danfoss.com) a world leader in industrial automation, has a position available for an Embedded PPC software engineer in Baltimore, MD. This position requires low-level experience with the 8xx series processors. Embedded Linux in particular, but any Linux experience is desired, but not required. Anyone interested is encouraged to contact my boss, Henrik Christensen at: HenrikChristensen at Danfoss.com or (410)931-6778 x4254 I look forward to working with you in the future. Sincerely, Jason Hihn Danfoss RD ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
8260 - Spurious interrupt when calling __sti()
Jean-Denis, Wednesday, April 10, 2002, 1:31:05 PM, you wrote: snip JDB What is even more strange, I can put the 'sync' everywhere in the '__sti' JDB function, that is before the 'mfmsr', before the 'ori', or before the JDB 'mtmsr', JDB and the problem of spurious interrupt simply disappear. Remove it, it JDB reappears. snip JDB Hard to explain... Even harder to explain is why you're having to put those syncs in __sti, since both my copies of 2.4.16 and 2.4.18-pre9 kernel sources already have them in the code... and with the comment /* Some chip revs have problems here... */ !!! []'s, Scopmailto:scop at vanet.com.br -- We all lie in the gutter, but some of us look up at the stars. -- Oscar Wilde ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
8260 - Spurious interrupt when calling __sti()
Jean-Denis, See comments below. []'s, Scopmailto:scop at vanet.com.br -- We all lie in the gutter, but some of us look up at the stars. -- Oscar Wilde Tuesday, April 09, 2002, 11:53:45 AM, you wrote: JDB I have a custom board that uses an 8260 (rev. A.1 1K22A). Same CPU and rev, other custom board. JDB We've had for a long time a problem of spurious interrupt. JDB On kernel 2.4.10, at boot up, the following message was written to the JDB console: JDB Unhandled interrupt 0, disabled We have this with kernel 2.4.16. JDB This message did not appear on kernel 2.4.18 (I don't know why), Didn't try 2.4.18, yet. JDB but in /proc/interrupts, the number at the right of BAD was increasing JDB slowly. snip JDB Putting traces in the interrupt handler, it appeared that the interrupt JDB happened in '__sti()' (arch/ppc/kernel/misc.S), just after calling 'mtmsr' JDB to turn on the 'EE' bit. JDB I added a 'sync', between 'ori r3,r3,MSR_EE' and 'mtmsr r3', JDB and it has fixed the problem. I'll try that, thanks. JDB My questions are: JDB - Did anybody encountered the same problem on that core? yes. JDB - Did anybody seen something about that in the user's manual and/or the JDB errata? no. JDB - Is my fix correct, and should it be brought to other calls to 'mtmsr' ? I don't have the knowledge to answer that :-( JDB JDB Jean-Denis Boyer, B.Eng., System Architect JDB Mediatrix Telecom Inc. JDB 4229 Garlock Street JDB Sherbrooke (Qu?bec) JDB J1L 2C8 CANADA JDB (819)829-8749 x241 JDB JDB ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/ ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Fwd: Re[2]: Question about the dcache of ppcboot??
Goddeeris, Yes, this is completely true (tm) with CPU's that have internal memory like 82xx and 8xx families, as Wolfgang Denk have already pointed out in message http://www.geocrawler.com/archives/3/4205/2002/1/0/7645212/ R. Scopmailto:scop at vanet.com.br -- Everything has beauty, but not everyone sees it. ~Confucius Thursday, February 21, 2002, 4:31:14 AM, you wrote: GF Hi, GF I think I have seen discussions on the ppcboot-users mailing list GF mentioning that it is normal that ppcboot crashes when you switch dcache on GF (icache should work) GF Fred GF -Original Message- GF From: ??? GF To: linuxppc-embedded at lists.linuxppc.org GF Sent: 2/21/02 6:33 AM GF Subject: Question about the dcache of ppcboot?? GF Hello. GF Greetings from korea. GF My name is jaechol, and I'm a newbie. GF Please excuse my English. GF I ported ppcboot-1.1.4 to my custom board with mpc862 cpu. GF Everything is OK, except of dcache. GF Icache works fine. but dcache don't work GF Atfer issuing dcache on, my custom board hangs. GF Is there a need that I do for dcache on?? GF my board: GF cpu mpc862 GF 2MByte Boot-flash on CS0 GF SDRAM on CS2 GF GF == GF ?? ???, Daum http://www.daum.net GF - Daum??? ?? ? + ?? ? http://hmm.daum.net/shop_0202 GF - 100% ?? ??! Daum?? ? http://hmm.daum.net/keyword_top_0202 GF ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/ ===8===End of original message text=== ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Unable to write to SIMASK
On Wednesday 20 February 2002 21:53, gopi at india.tejasnetworks.com wrote: hi.. We have an MPC860T based custom board. We wanted to control interrupt on one of the irqs by writing to SIMASK register using a small driver with two ioctls which will will do the following: // WRITE_MASK_IOCTL simask_write_ioctl(mask) { cli(); better use save_flags(flags); cli(); (volatile unsigned int *)(IMMR + simask_offset) = mask; You're missing a * operator here (don't know about your actual source code, though...) written_value = *(volatile unsigned int *)(IMMR + simask_offset); sti(); better use restore_flags(flags)... and flags must be defined as an unsigned long. printk (written_value); } // READ_MASK_IOCTL simask_read_ioctl() { cli(); // Not really needed.. read_value = *(volatile unsigned int *)(IMMR + simask_offset); sti(); printk (read_value); } snip HTH, R. Scop ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Synchronous (HDLC) driver for MPC82xx SCC and kernel 2.4.x
Hi, I'm in the process of adapting an SCC HDLC driver for the Motorola MPC8260 CPM. I'm aware of SNMC's Daris Nevil hdlc_ppp driver for the 8xx SCC, which works on Linux 2.2.x version, but I decided to start from 8260 Dan Malek's scc_enet driver as a framework (which works on 2.4.x Linux version, and works very fast), and use the former as a guideline. In it's final shape, the driver will attach to the generic hdlc driver available at the current kernel source tree, with support for PPP, Cisco HDLC, raw HDLC, Frame Relay and X.25 WAN protocols. Plus, it should be fast enough to handle 4 SCCs at a high rate aggregate (maybe 8 Mbps or more... the sky is the limit). What I would like to know is: - Is my approach a good one? (IMHO, yes :-)) - Should I take the risk of not having an interrupt routine's bottom half, as in the SCC ethernet driver? - Are there any other 8xx/82xx SCC synchronous driver implementations other then the above mentioned? I would be very glad to share my present (and future) knowledge and experience with those working on this subject. Thanks in advance for any suggestions/pointers... Ricardo Scop mailto:scop at vanet.com.br R SCOP Consult. - Don't hate, it's too big a burden to bear. ~Martin Luther King Jr. ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Linux performance on a 8255 custom board
Hi all, We've run LmBench in our MPC8255 custom board running a recent linuxppc_2_4 revision (2.4.16). CPU frequency is 132 MHz, bus @ 33 MHz and we don't have L2 cache. The results are presented bellow, for comparison. We are particularly interesting in knowing how our memory latencies and related figures (context switching, for example) are compared to other board's. Thanks in advance, Ricardo Scop mailto:scop at vanet.com.br R SCOP Consult. - Don't hate, it's too big a burden to bear. ~Martin Luther King Jr. - L M B E N C H 2 . 0 S U M M A R Y Basic system parameters Host OS Description Mhz - - --- nr2g Linux 2.4.16 ppc 132 Processor, Processes - times in microseconds - smaller is better Host OS Mhz null null open selct sig sig fork exec sh call I/O stat clos TCP inst hndl proc proc proc - - - nr2g Linux 2.4.16 132 1.70 3.51 16.5 23.7 212.8 6.94 23.8 3888 28.K 65.K Context switching - times in microseconds - smaller is better - Host OS 2p/0K 2p/16K 2p/64K 8p/16K 8p/64K 16p/16K 16p/64K ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw - - - -- -- -- -- --- --- nr2g Linux 2.4.16 1.310 259.1 893.1 272.0 902.5 275.9 907.7 *Local* Communication latencies in microseconds - smaller is better --- Host OS 2p/0K Pipe AF UDP RPC/ TCP RPC/ TCP ctxsw UNIX UDP TCP conn - - - - - - - - nr2g Linux 2.4.16 1.310 45.0 89.3 600.5 873.6 2706 File VM system latencies in microseconds - smaller is better -- Host OS 0K File 10K File MmapProtPage Create Delete Create Delete Latency Fault Fault - - -- -- -- -- --- - - nr2g Linux 2.4.16 3484.3 2325.6 18.2K 3571.4 1.334 1211.0 *Local* Communication bandwidths in MB/s - bigger is better --- HostOS Pipe AFTCP File Mmap Bcopy Bcopy Mem Mem UNIX reread reread (libc) (hand) read write - - -- -- -- -- - nr2g Linux 2.4.16 28.2 16.1 8.72 24.7 65.2 33.4 33.4 65.2 57.7 Memory latencies in nanoseconds - smaller is better (WARNING - may not be correct, check graphs) --- Host OS Mhz L1 $ L2 $Main memGuesses - - - ----- nr2g Linux 2.4.16 132 15.2 397.1 409.8No L2 cache? ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Kernel oops while routing
Dan, I apologize for the delay. We were conducting some more tests so as to not make any more false alarms :-) about kernel crashes, memory leaks and/or performance problems in the linuxppc port to our 8255 hardware platform. So, after a _carefull_ test period, these are our findings: 1 - Andy's patch (which is attached) works well and does _not_ append any performance penalties in our tests (we were having PHY negatiation problems there, again :-/ ). 2 - We _did_ have a memory leak which was causing a kernel crash after a while, and it _was_ solved by Andy's patch (thanks, Andy!). I believe it's still on linuxppc_2_4, _2_4_devel and _2_5. It goes like this: - in fcc_enet_start_xmit, after setting up another bd and incrementing bdp, the next bd's tx-ready bit is tested in order to stop the xmit queue if it is set, ok? But, sometimes, the CPM may already have cleared this bit _and_ the corresponding interrupt has not been serviced yet (because we're in a spin_lock_irq); so, netif_stop_queue is not called in this case, nor is tx_full set; - next, the interrupt is serviced, but then curr_tx equals dirty_tx _and_ tx_full is not set, so no sk_buffers are freed! - next time fcc_enet_start_xmit is called, tx_ready bit is still cleared and the next bd is used, but the corresponding sk_buffer wasn't freed, and it's pointer is now lost; - cep-lock can't help with this problem, because the CPM is not bothered by that 8-). AFAIK, Andy's solution is a good one. So, we're offering this patch to the public list (with Andy's blessing :-). I can provide any other details about our tests, if required. Thenks, Ricardo Scopmailto:scop at vanet.com.br R SCOP Consulting -- What's money? A man is a success if he gets up in the morning and goes to bed at night and in between does what he wants to do. ~Bob Dylan Thursday, November 29, 2001, 7:42:24 PM, you wrote: DM Ricardo Scop wrote: I'm kind of lost with this performance variations. As far as I could see, the patch did not insert much processing overhead, so... DM Perhaps if someone would post the patch for the rest of us to see we DM could be of some assistance. DM -- Dan -- next part -- A non-text attachment was scrubbed... Name: patch-2.41.16-pre1-fcc_enet Type: application/octet-stream Size: 2358 bytes Desc: not available Url : http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20011205/1ec30e59/attachment.obj
Linux on SandPoint with PPC8240
Sally, BDI2000 from Abatron (www.abatron.ch) is a nice debugging tool, it's completely Linux aware and works well with GNU development tools. You should also look at http://penguinppc.org/embedded/howto/PowerPC-Embedded-HOWTO.html for further information. []'s, Scopmailto:scop at digitel.com.br -- What's money? A man is a success if he gets up in the morning and goes to bed at night and in between does what he wants to do. ~Bob Dylan Wednesday, December 05, 2001, 12:19:04 AM, you wrote: SW Also I am looking for development tools for our project. It will using linux SW as OS, MPC8241 as CPU, and our own hardware board. What kind of tools you SW advice for debugging kernel and drivers ? SW I am looking forward to your helps. SW Thanks in advance, SW Sally Wang SW ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/ ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Kernel oops while routing
Jean-Denis, Wednesday, December 05, 2001, 3:01:28 PM, you wrote: JDB IMHO, I could suggest an easier patch, that would result in modifying only JDB one line of code, without changing the 'tx_full' logic. In function JDB fcc_enet_start_xmit, instead of checking the ready bit (which is bad), we JDB could only check if cur_tx has reached dirty_tx, and then call JDB netif_stop_queue. Does it make sense? Make sense to me. I'll try it out. JDB BTW, I worked hard last week in debugging the fcc_enet driver. It was not JDB handling correctly some transmission errors, resulting in the transmitter JDB completely stopping, without restarting. This is related to an errata JDB (CPM37) from Motorola about the 8260, concerning the way of restarting the JDB transmitter. If someone is interested, I can release a patch for that. I'm interested! Ricardo Scopmailto:scop at vanet.com.br R SCOP Consulting -- What's money? A man is a success if he gets up in the morning and goes to bed at night and in between does what he wants to do. ~Bob Dylan ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Kernel oops while routing
Hi everybody, Ok, time for an update on the problem bellow. First of all, many thanks to Andy Lowe for his patch. The problem was gone with it, but with some performance penalties that I would like to discuss. Even before applying the patch, we found out that the crash was caused by a memory leak in the system. When the memoty was exhauted, the kernel crashed. Furthermore, we discovered that turning CONFIG...MMAP off decreased considerably the leakage rate, at least in our test setup. Then, applying the patch stopped the leak. But, just as I mentioned before, the performance of our routing test decreased a lot. Best throughput rates dropped to 15 Mbps, against 46 Mbps before patching. I'm kind of lost with this performance variations. As far as I could see, the patch did not insert much processing overhead, so... Tips, commentaries, pointers on what to seek for... everything will be appreciated. []'s, Scopmailto:scop at digitel.com.br -- What's money? A man is a success if he gets up in the morning and goes to bed at night and in between does what he wants to do. ~Bob Dylan Monday, November 26, 2001, 1:54:19 PM, Ricardo Scop wrote: RS Hi, RS I'm doing some performance tests with a proprietary Linuxppc-based box RS configured as a routing system. The processor is MPC8255 @ 133 MHz (33Mhz on RS the bus) and Linux revision is 2.4.15pre8 rsync'ed from MVista linuxppc_2_4 RS repository. RS We are using two other Linux workstations to exercise the router, both RS running Netpipe 2.4, one as a client application, the other as a server. Each RS one is connected to a different fast ethernet port of our router box RS (100MHz, full-duplex mode) using cross cables. RS We're achieving throughputs around 40 Mbps with this setup, which is enough RS for our purposes. RS But, when we try a 30 MBytes' block in Netpipe, the kernel in our Linux box RS crashes big time (trace bellow, including ksymoops decode). We also tryed RS Linux 2.4.4 version, but then the performance slows down to around 13 Mbps. RS My questions are: RS Has anyone observed this kind of crash? RS Is there any workaround? RS Any pointers or suggestions will be greatly appreciated. RS Regards, RS ~Ricardo RS R SCOP Consulting. ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Kernel oops while routing
Hi, I'm doing some performance tests with a proprietary Linuxppc-based box configured as a routing system. The processor is MPC8255 @ 133 MHz (33Mhz on the bus) and Linux revision is 2.4.15pre8 rsync'ed from MVista linuxppc_2_4 repository. We are using two other Linux workstations to exercise the router, both running Netpipe 2.4, one as a client application, the other as a server. Each one is connected to a different fast ethernet port of our router box (100MHz, full-duplex mode) using cross cables. We're achieving throughputs around 40 Mbps with this setup, which is enough for our purposes. But, when we try a 30 MBytes' block in Netpipe, the kernel in our Linux box crashes big time (trace bellow, including ksymoops decode). We also tryed Linux 2.4.4 version, but then the performance slows down to around 13 Mbps. My questions are: Has anyone observed this kind of crash? Is there any workaround? Any pointers or suggestions will be greatly appreciated. Regards, ~Ricardo R SCOP Consulting. Crash trace: Oops: kernel access of bad area, sig: 11 NIP: C00A9E78 XER: LR: C00A9E54 SP: C1FADC00 REGS: c1fadb50 TRAP: 0300 MSR: 1032 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 11 TASK = c1fac000[3] 'ksoftirqd_CPU0' Last syscall: -1 last math c1f3 last altivec GPR00: C1FADC00 C1FAC000 0001 9032 C1FADCE0 0004 001F GPR08: C0154680 0025 40601801 0800 C1FADD98 1001F5F0 01FDF000 GPR16: 0001 007FFF00 01FD816C 1032 01FADCD0 C0003F80 GPR24: C0004F90 0400 C1FA5200 C018 05FA 0020 C0178E20 C0FC9594 Call backtrace: C00A558C C00A5234 C0004EEC C0004FD8 C0003F80 C00E9FB4 C00B5B14 C00B5F74 C00BCA94 C00AED38 C0016548 C0005034 C0003F80 C0016548 C0016C20 C0006464 Warning (Oops_read): Code line not seen, dumping what data is available ???; c00a9e78 alloc_skb+d4/204 = Trace; Before first symbol Trace; c00a558c fcc_enet_rx+e4/220 Trace; c00a5234 fcc_enet_interrupt+3c/2b0 Trace; c0004eec ppc_irq_dispatch_handler+190/234 Trace; c0004fd8 do_IRQ+48/bc Trace; c0003f80 ret_from_intercept+0/8 Trace; c00e9fb4 ip_conntrack_in+248/318 Trace; c00b5b14 nf_iterate+64/e4 Trace; c00b5f74 nf_hook_slow+100/1cc Trace; c00bca94 ip_rcv+450/4b0 Trace; c00aed38 net_rx_action+2b0/3e0 Trace; c0016548 do_softirq+88/100 Trace; c0005034 do_IRQ+a4/bc Trace; c0003f80 ret_from_intercept+0/8 Trace; c0016548 do_softirq+88/100 Trace; c0016c20 ksoftirqd+84/a8 Trace; c0006464 kernel_thread+34/40 ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
DINK - the downloader !
Hello guys, Thursday, November 22, 2001, 10:17:13 AM, you wrote: WD Dear Sarnath, WD in message 20011122122132.18969.qmail at mailweb26.rediffmail.com you wrote: [snip] via ethernet card. Any such utilities for the sandpoint platform are available.. ? WD Use PPCBoot. I second this :-) WD I'm not sure how good the Sandpoint support is at the moment, but WD it's there, and it compiles, and some people say they actually use WD it. Whats tftp and How do I set it up ? I think this is a fair question. When I bought my Abatron BDI2000, I had a hard time setting up a TFTP server on my Linux host... it was much easier to use the Windowze-based TFTP server that came along with the Abatron firmware :-( Fortunatelly, we have some local Linux gurus here at my job place. So, basically, what has to be done, assuming a Linux host, is: 1 - Check if you're lucky: try locating in.tftpd in your bin directories (mainly in /usr/sbin) 2 - If you don't have it, download it from the web; better download both server and clients apps 3 - Install them (I have a Red Hat box, so installing rpm's is straightforward for me :-) 4 - Now, the tough part: you'll have to manually configure inetd (or worse, xinetd - depending on your system). I can put a copy of a sample conf file here, if you need it... HTH, Ricardo Scopmailto:scop at digitel.com.br R SCOP Consulting -- What's money? A man is a success if he gets up in the morning and goes to bed at night and in between does what he wants to do. ~Bob Dylan ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Linuxppc and MPC8255 routing performance
Dan, Tuesday, November 13, 2001, 3:21:38 PM, you wrote: DM Ricardo Scop wrote: As for our performance troubles, there have been some improvements; we were making some mistakes regarding both FCC and PHY programming. DM FYI, a major telecommuniation company paid for independent laboratory DM certifcation of this driver (and Linux) under a variety of performance DM and error conditions. After a couple of iterations, it passed the DM certification testing and I believe all of the modifications are in DM this driver (at least it was my intention to ensure they are public). I'm really glad to know about that. FYI, we never had any doubts about linuxppc implementation quality, or we wouldn't use it in the first place. DM I don't remember which PHY was used for the testing, but please don't DM attack this as a can't possibly work problem and start hacking it up. Oh, we don't! The 'mistakes' I referred were made by _myself_, in two places: - LXT970A PHY in PPCBoot (our hardware MDIO interface don't conform to Linux MDIO driver, so I hacked PPCBoot to program the chip to megotiate full-duplex, but I did it wrong in our earlier tests); - in arch/ppc/8260io/fcc_enet.c: the driver we have, pulled from linuxppc_2_4 mvista cvs mirror some two weeks ago, programs the FCC to half-duplex mode, by default; so, I tryed to hack it to full-duplex for our tests and, again, made a mistake, which is now fixed). As I said, all _my_ mistakes. Linux FCC driver works perfectly well! Thanks again. ~Ricardo ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Linuxppc and MPC8255 routing performance
On Thursday 08 November 2001 22:41, Dan Malek wrote: No, not even close. Something must be wrong with your memory interface or system. OK, I'll check it out,. thanks. The data cache enabled should be significantly faster, and on an 8260 you can run all three fast ethernets at full speed. Even without secondary (L2) cache? Using FTP as a benchmark isn't usually the best choice. You should be running carefully controlled network benchmark applications. Err.. any suggestions, on those? Thank you, so far! ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
BK to CVS? + MDIO
Hi, Dan I can assure you that I intend to follow strictly your orders :^) when submitting a patch to the linuxppc development tree. However, I didn't tell the whole truth. Actually, I'm currently not using BK, but instead rsyncing from the source.mvista.com mirror. Is that all right for obtaining the current sources? [ Thanks, Tom, I've just received your reply, I'll save your instructions to use when and if my company allow us to use BK ] BTW, I'm staring right now at the FCC driver for the MPC8260, looking for MDIO support, and I can see that it's not compiled by default. Can you tell me if it's operational? Our board has a Level One LTX960A PHY Transceiver which is only working at 10 Mbps, and I would like to force it to 100 Mbps at user's will. ('hope I'm not pushing you guys too much which parallel questions in a reply...) On Saturday 06 October 2001 05:25, Dan Malek wrote: Ricardo Scop wrote: We internally use CVS nowadays, therefore I'm very interested in your standard procedures to manage externally developed code. I would appreciate a patch against the current linuxppc_2_4_devel tree. Please pull the latest tree, do your work in that tree, and then generate a patch using one of the convenient bk commands that I hope Tom Rini can suggest :-). It's quite time consuming to get patches that are almost up to date and having to manually sort out the differences. I could spend 24 hours a day just applying and testing patches sent to my personal e-mail addresses. It _really_ helps when they are up to date :-). Thanks. -- Dan ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
BK to CVS? + MDIO
Tom, Saturday, October 06, 2001, 12:34:19 AM, you wrote: TR If you turn on CONFIG_USE_MDIO, it _may_ work. You might have to add in TR support for the LTX960A tho (only 970 and 971 are explicitly supported). Oh, I made two typos in a row! Actually, we are using the LXT970A chip, which is an enhanced version from the 970, so I'll give it a try. Thank you very much. ~ Scop ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
BK to CVS?
Hi, Andrew I've ported Linux to a custom 8255-based board and now I'll have to deal with creating and adapting device drivers for it. I realized that I should start working with the linuxppc_2_4_devel BK tree, so I can contribute to it. We internally use CVS nowadays, therefore I'm very interested in your standard procedures to manage externally developed code. Thanks in advance, Ricardo Scop. Digitel S/A, Brazil On Friday 05 October 2001 18:48, Andrew Johnson wrote: Kent Borg wrote: Then each day I have a script that does: - bk changes to see the before rev, - bk pull to get up to date, - bk changes to see after rev, - export of a patch between those two revs, apply that to my cvs. The problem is that some of the patches fail because the cvs file isn't in the state the patch expects. Because I am still getting the bugs out, we aren't doing any work in the cvs tree, only bk stuff is going in there. Why don't you use the cvs vendor branch to do most of the work for you, rather than generating deltas yourself? Every day you'd get the latest release tree from BK and do a cvs import of this into your local repository, followed by the cvs checkout -j -j and cvs commit to merge the changes into the main trunk - CVS keeps track of the state the BK repository was in when it was last imported. If you do this right, this should only bring up problems in the checkout -j -j stage when some locally committed change conflicts with an imported change, which is something you'd have to fix manually anyway. Oh, and BTW the instructions that cvs import prints out about doing the cvs checkout -j -j aren't quite right, you should really use the release tags you gave to cvs import rather than the :yesterday it recommends. I can give more detail on this approach if you're interested - we don't import the linuxppc tree, automate it or do it daily, but do have a standard procedure for this kind of handling of externally managed code with CVS. - Andrew -- Perfection is reached, not when there is no longer anything to add, but when there is no longer anything to take away. - Antoine de Saint-Exupery ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
MMU and BDI2000
Michael, Saturday, September 15, 2001, 11:46:10 AM, you wrote: MH [REGS] MH DMM10x0FF0 Maybe it's just a typo, but the above line should be, in your case: DMM1 0xFF00 []'s, Scopmailto:scop at digitel.com.br ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Hanging in Init
Mike, As far as I know, Linux requires IMMR = 0xF000. Read the file ./Documentation/powerpc/SBC8260_memory_mapping.txt in the Linux source tree for more information. []'s, Scopmailto:scop at digitel.com.br Wednesday, August 01, 2001, 3:01:59 PM, you wrote: MOB I have been trying to get a custom PPC860 board up using MonteVista's Hard MOB Hat MOB 2.0 distribution using a vxWorks bootrom. I have made alot of progress in MOB the last MOB few days but have got stuck at the point here init is executed. The IMMR is MOB set MOB to 0x0220. I ran across some old posts on the list referring to this MOB being set MOB too low for linux. Could this be the problem? If not does anyone have any MOB suggestions on what could be wrong? Attached is the boot up output from the MOB console. MOB Thanks, MOB Mike O'Brien MOB Attaching network interface cpm0... done. MOB Attaching network interface lo0... done. MOB Loading... 504934 MOB WARNING: CRC mismatch (calculated 0x1a946201 expected 0x017c1f7c) MOB Starting at 0x118... MOB loaded at: 0118 0118A1DC MOB relocated to: 0018 0018A1DC MOB board data at: 001801C0 001801DC MOB relocated to: 00200100 0020011C MOB zimage at: 01187000 011F828A MOB avail ram: 00201000 0200 MOB Linux/PPC load: root=/dev/nfs rw init=/bin/sh MOB Uncompressing Linux...done. MOB Now booting the kernel MOB Linux version 2.4.2_hhl20 (root at palm) (gcc version 2.95.3 20010315 MOB (release/Mon1 MOB On node 0 totalpages: 8192 MOB zone(0): 8192 pages. MOB zone(1): 0 pages. MOB zone(2): 0 pages. MOB Kernel command line: root=/dev/nfs rw init=/bin/sh MOB Decrementer Frequency = 12375/60 MOB Warning: real time clock seems stuck! MOB Calibrating delay loop... 32.87 BogoMIPS MOB Memory: 30940k available (864k kernel code, 320k data, 48k init, 0k highmem) MOB Dentry-cache hash table entries: 4096 (order: 3, 32768 bytes) MOB Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes) MOB Page-cache hash table entries: 8192 (order: 3, 32768 bytes) MOB Inode-cache hash table entries: 2048 (order: 2, 16384 bytes) MOB POSIX conformance testing by UNIFIX MOB Calling smp_init()... MOB Calling kernel_thread()... MOB Calling unlock_kernel()... MOB Entered init()... MOB Calling do_basic_setup()... MOB Linux NET4.0 for Linux 2.4 MOB Based upon Swansea University Computer Society NET3.039 MOB Starting kswapd v1.8 MOB i2c-core.o: i2c core module MOB CPM UART driver version 0.03 MOB ttyS00 at 0x0280 is a SMC MOB pty: 256 Unix98 ptys configured MOB block: queued sectors max/low 20488kB/6829kB, 64 slots per queue MOB RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize MOB eth0: CPM ENET Version 0.2 on SCC1, 08:00:3e:26:15:59 MOB loop: loaded (max 8 devices) MOB NET4: Linux TCP/IP 1.0 for NET4.0 MOB IP Protocols: ICMP, UDP, TCP, IGMP MOB IP: routing cache hash table of 512 buckets, 4Kbytes MOB TCP: Hash tables configured (established 2048 bind 2048) MOB Sending BOOTP requests OK MOB IP-Config: Got BOOTP answer from 192.168.101.239, my address is MOB 192.168.101.98 MOB NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. MOB Looking up port of RPC 13/2 on 192.168.101.239 MOB Looking up port of RPC 15/2 on 192.168.101.239 MOB VFS: Mounted root (nfs filesystem). MOB Freeing unused kernel memory: 48k init 4k openfirmware MOB Unlock kernel... MOB Open console... MOB Call /sbin/init... MOB [hang] MOB ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/ ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/