Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - xenophobe

Pages: [1] 2
1
Angstrom & OpenZaurus / Fixes For 3.5.4 / Tosa (6000 Models)
« on: July 21, 2006, 07:44:12 am »
Quote
Iirc it has to to with updating the framebuffer directly or via a seperate buffer (e.g. when rotated), the no-lines patch did something like that for non-rotated framebuffers. Sharp fixed it in the kernel, but the released source doesn't match the binary.

(yes, that's a gpl violation)

I am sure what the problem lies within framebuffer memory mapping. The original Sharp ROM has this problem if you use FB in your program, but Sharp had wrote special display driver for Qtopia, where they fixed this problem.

The "gradient" program from Qtopia samples (was attached to some message in this forum, but I can't find it) draws gradient filled square and shows artifacts with any screen orientation.

2
Angstrom & OpenZaurus / Fixes For 3.5.4 / Tosa (6000 Models)
« on: July 14, 2006, 10:26:02 am »
Quote
Quote
I press power button on my Zaurus, and just after screen is turned black, I press power button again. Some times this leads to system hang up.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=135109\"][{POST_SNAPBACK}][/a][/div]
Does the screen is turned on(but no backlight)? Does the green led blinks twice?

I think I have identified a race condition. I'll look into this.

Dirk
[div align=\"right\"][a href=\"index.php?act=findpost&pid=135122\"][{POST_SNAPBACK}][/a][/div]
Yes, screen is turned on, but does not contain any image or text, only '_' character in upper left corner, and no backlight.
I don't remember anything about green led behaviour.

3
Angstrom & OpenZaurus / Fixes For 3.5.4 / Tosa (6000 Models)
« on: July 14, 2006, 05:01:50 am »
Quote
QUOTE(xenophobe @ Jul 12 2006, 10:26 AM)
I had tested kernel 2.6.17 with OPIE image.

System hangs up if it turned off and quickly turned on.
*


Can't reproduce this, can you provide more details?
I press power button on my Zaurus, and just after screen is turned black, I press power button again. Some times this leads to system hang up.

4
Angstrom & OpenZaurus / Fixes For 3.5.4 / Tosa (6000 Models)
« on: July 12, 2006, 05:26:05 am »
I had tested kernel 2.6.17 with OPIE image.

I had found two magor issues:
1 Wlan does not work. usbctl can't open file. looks like some kernel module is missed...
2 System hangs up if it turned off and quickly turned on.

And one minor:
At first startup after flashing, system was stopped right after screen calibration. I had pressed last  center cross hair and system was stopped. After reset, next startup don't run calibration program and OPIE was started.

Headphones detection works fine.

5
Sharp ROMs / What's The Fs Type For Initrd.bin Image?
« on: June 21, 2006, 07:30:13 am »
Sharp and OE use JFFS2
use search on this forum for insruction on mounting this systems on desktop Linux

6
Angstrom & OpenZaurus / Openzaurus 3.5.4 Released
« on: March 21, 2006, 05:10:22 am »
Is any work around to OE bug 538 (top row of the built-in keyboard does not generate the correct keystrokes
when using them with the Fn key to type numbers on Tosa (SL-6000))?
This bug is real show stopper for OZ-3.5.4 on Tosa.

7
6000 - Tosa / Sl6000 Hardware Accelerated Display?
« on: January 24, 2006, 08:42:38 am »
One more thing about Tosa acceleration.
If you take a look on qte shared library on your Tosa (/opt/Qtopia/lib/libqte.so), you can find some very insteresting things. It has code for QScreenT6393 and QGfxT6393 classes. So if you have some skills in reverse engineering of ARM code, then you can try to figure out how-to move cursor and scale with TC6393.

--
  Happy hacking,
  Eugene.

8
6000 - Tosa / Sl6000 Hardware Accelerated Display?
« on: January 24, 2006, 08:30:20 am »
I had achieve some more progress in graphics acceleration with TC6393.

Here is code snippets for:

1 Draw solid rectangular area with top left corner in point (x,y) and dimensions (width,height) and color(color).
Code: [Select]
static uint32_t cmd [11];
 int len = 0;
 int ret;

 cmd[++len] = PXAIO_COMDI_DSADR  | PXAIO_COMDD_DSADR ((x*2+((long)960L*y)));
 cmd[++len] = PXAIO_COMDI_DHPIX  | PXAIO_COMDD_DHPIX (width);
 cmd[++len] = PXAIO_COMDI_DVPIX  | PXAIO_COMDD_DVPIX (height);
 cmd[++len] = PXAIO_COMDI_FILL   | PXAIO_COMDD_FILL (color);
 cmd[++len] = PXAIO_COMDI_FLGO;
 cmd[0] = len;
 if ((ret = ioctl (fd, TC6393FB_ACC_CMD_WRITE, cmd)) < 0)
         perror ("ioctl");

 printf ("TC6393FB_ACC_CMD_WRITE returned %d\n", ret);

 if ((ret = ioctl (fd, TC6393FB_ACC_SYNC, 0)) < 0)
         perror("ioctl");

 printf ("TC6393FB_ACC_SYNC returned %d\n", ret);

2 Setup pattern for ROP3 filling and copying. Pattern is at patAddr in TC6393 video memory, and pattern dimension is patWidth,patHeight
Code: [Select]
       static uint32_t cmd [11];
        int len = 0;
        int ret;
        /* Pattern setup */
        cmd[++len] = PXAIO_COMDI_PSADR  | PXAIO_COMDD_PSADR (patAddr);
        cmd[++len] = PXAIO_COMDI_POADR  | PXAIO_COMDD_POADR (patAddr);
        cmd[++len] = PXAIO_COMDI_PHPIX  | PXAIO_COMDD_PHPIX (patWidth);
        cmd[++len] = PXAIO_COMDI_PVPIX  | PXAIO_COMDD_PVPIX (patHeight);
        cmd[++len] = PXAIO_COMDI_PHOFS  | PXAIO_COMDD_PHOFS (0);
        cmd[++len] = PXAIO_COMDI_PVOFS  | PXAIO_COMDD_PVOFS (0);
        cmd[0] = len;
        if ((ret = ioctl (fd, TC6393FB_ACC_CMD_WRITE, cmd)) < 0)
                perror ("ioctl");

3 Filling area with pattern- area is (x,y,width,height), code of ROP3 operation is ropCode
(area copying with rop3 is similar)
Code: [Select]
       len=0;
        /* Destination setup and run command*/
        cmd[++len] = PXAIO_COMDI_DSADR  | PXAIO_COMDD_DSADR ((2*x+960*(y)));
        cmd[++len] = PXAIO_COMDI_DHPIX  | PXAIO_COMDD_DHPIX (width);
        cmd[++len] = PXAIO_COMDI_DVPIX  | PXAIO_COMDD_DVPIX (height);
        cmd[++len] = PXAIO_COMDI_RSTR   | PXAIO_COMDD_RSTR (ropCode);
        cmd[++len] = PXAIO_COMDI_FLGO | PXAIO_COMDD_FLGO_ROP3;
        cmd[0] = len;
        if ((ret = ioctl (fd, TC6393FB_ACC_CMD_WRITE, cmd)) < 0)
                perror ("ioctl");

        if ((ret = ioctl (fd, TC6393FB_ACC_SYNC, 0)) < 0)
                perror("ioctl");

4 Draw line from point (x1,y1) to point (x2,y2) with color (color)
Code: [Select]
 int dx = 0;
  int dy = 0;
  int flag = 0;
  int bk2 = 0;
  int ini = 0;
    if ( x1 < x2 )
    {
       dx = x2-x1;
    }
    else
    {
       dx = x1-x2;
       flag = flag | PXAIO_COMDD_LDGO_LHRV;
    }
    if ( y1 < y2 )
    {
       dy = y2-y1;
    }
    else
    {
       dy = y1-y2;
       flag = flag | PXAIO_COMDD_LDGO_LVRV;
    }
    if ( dy == 0 ) //special case for horizontal line
    {
      ini = 0x8000;
    }
    else if ( dy <= dx )
    {
      bk2 = (dy-dx)<<1;
    }
    else if ( dx == 0 )  //special case for vertical line
    {
      ini = 0x8000;
      flag = flag | PXAIO_COMDD_LDGO_LDMOD;
    }
    else
    {
      bk2 = (dx-dy)<<1;
      flag = flag | PXAIO_COMDD_LDGO_LDMOD;
    }

        static uint32_t cmd [11];
        int len = 0;
        int ret;
        cmd[++len] = PXAIO_COMDI_DSADR  | PXAIO_COMDD_DSADR ((x1*2+((long)960L*y1)));
        cmd[++len] = PXAIO_COMDI_DVPIX  | PXAIO_COMDD_DVPIX (dy);
        cmd[++len] = PXAIO_COMDI_DHPIX  | PXAIO_COMDD_DHPIX (dx);
        cmd[++len] = PXAIO_COMDI_LBINI  | PXAIO_COMDD_LBINI (ini);
        cmd[++len] = PXAIO_COMDI_LBK2  | PXAIO_COMDD_LBK2 (bk2);
        cmd[++len] = PXAIO_COMDI_FILL   | PXAIO_COMDD_FILL (color);
        cmd[++len] = PXAIO_COMDI_LDGO | flag;
        cmd[0] = len;

        if ((ret = ioctl (fd, TC6393FB_ACC_CMD_WRITE, cmd)) < 0)
                perror ("ioctl");

//      printf ("TC6393FB_ACC_CMD_WRITE returned %d\n", ret);

        if ((ret = ioctl (fd, TC6393FB_ACC_SYNC, 0)) < 0)
                perror("ioctl");

There are two unresolved issues: cursor movement and area stretching.
Last one is very hard to resolve because TC6393 hangs in case of wrong scaling parameters.

--
  Happy hacking,
  Eugene.

9
6000 - Tosa / Sl6000 Hardware Accelerated Display?
« on: December 08, 2005, 11:15:01 am »
Quote
Sharp's tc6393fb.h has enough information to experiment. First, I'd try modifying the fill command to draw colored boxes on the screen. This is very useful for accelerating window managers, as they tend to draw the backing color, then the objects on top. The source copy would be great for moving windows, scrolling windows, scrolling the console, and drawing console characters.

I found what a screen copy command (PXAIO_COMDI_SCGO) takes four arguments:
PXAIO_COMDI_DSADR - an addres of a destination region (left upper corner)
PXAIO_COMDI_DHPIX - a width of a region to copy
PXAIO_COMDI_DVPIX - a height of a region to copy
PXAIO_COMDI_SSADR - an address of a source region (upper left corner)

Formula to calculate address from coordinates is
Addr = 2*X+Y*960 - for VGA mode (2bytes per pixel)

Has somebody else any luck with Tosa video accelerator?

10
C1000/3x00 General discussions / Determine When A Cf Card Is Mounted?
« on: November 07, 2005, 12:15:01 pm »
Quote
Is there a way to determine when a CompactFlash card is mounted? If I can do that I then want to run a script automatically.

Any help appreciated.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=102694\"][{POST_SNAPBACK}][/a][/div]

Look at /etc/pcmcia/ide file.
This file starts every time your CF card inserts, ejects etc.

11
C1000/3x00 General discussions / Sl-c3000 Initrd Image
« on: February 17, 2005, 07:08:07 am »
I had tried to follow your instruction exactly, except

Quote
losetup -o 7576608 SYSTC300.DBK
I use
losetup -o 7576608 /dev/loop0 SYSTC300.DBK

But I got "Segmentation fault" on mout. and dmesg returns:
Code: [Select]
kernel: ------------[ cut here ]------------
kernel: kernel BUG at fs/jffs2/nodemgmt.c:580!
kernel: invalid operand: 0000 [#1]
kernel: Modules linked in: jffs2 zlib_deflate loop mtdchar mtdblock mtd_blkdevs
kernel: CPU:    0
kernel: EIP:    0060:[]    Not tainted VLI
kernel: EFLAGS: 00010282   (2.6.10-1.760_FC3)
kernel: EIP is at jffs2_mark_node_obsolete+0x5ee/0x644 [jffs2]
kernel: eax: dc15ad4c   ebx: c0c8be00   ecx: dc15ad7c   edx: dc15ad5c
kernel: esi: d52c60f0   edi: dc15ad6c   ebp: 0000029e   esp: ca7ecda4
kernel: ds: 007b   es: 007b   ss: 0068
kernel: Process mount (pid: 15867, threadinfo=ca7ec000 task=d25bb870)
kernel: Stack: 000002a0 0000000c c0021985 0000029e d29a768e 00000000 dc15ad6c d0kernel:        ca7ecdec c0c8be00 e2ae6303 d09fc3c0 d09fc3c0 ca7ecdf0 c0c8be00 cakernel:        e2ae61de 00000000 00000000 0000003e c0c8bf64 00000000 c0c8be00 d7kernel: Call Trace:
kernel:  [] jffs2_build_remove_unlinked_inode+0x1b/0xa7 [jffs2]
kernel:  [] jffs2_build_filesystem+0x172/0x27c [jffs2][CODE]
kernel:  [] jffs2_do_mount_fs+0x31f/0x358 [jffs2]
kernel:  [] jffs2_do_fill_super+0x116/0x1d0 [jffs2]
kernel:  [] jffs2_get_sb_mtd+0x82/0xc4 [jffs2]
kernel:  [] jffs2_get_sb+0x13f/0x16c [jffs2]
kernel:  [] alloc_vfsmnt+0x78/0x9f
kernel:  [] do_kern_mount+0x8a/0x13a
kernel:  [] do_new_mount+0x61/0x90
kernel:  [] do_mount+0x178/0x190
kernel:  [] __alloc_pages+0xac/0x28e
kernel:  [] sys_mount+0x6a/0xbd
kernel:  [] syscall_call+0x7/0xb
kernel: Code: 39 8b 42 08 83 e0 03 48 75 30 8b 42 0c 01 47 0c 8b 42 04 89 47 04

If you can mount SYSTC300.DBK on your linux box by following your instructions, pls. tell me what is your kernel version and linux distro.
My is
Code: [Select]
[root@justtesting log]# uname -a
Linux justtesting 2.6.10-1.766_FC3 #1 Wed Feb 9 23:06:42 EST 2005 i686 athlon i386 GNU/Linux
and my distro is Fedora Core 3.
But I can change kernel to some of previous versions.

--
  Eugene

12
C1000/3x00 General discussions / Sl-c3000 Initrd Image
« on: February 16, 2005, 09:40:39 am »
Quote
This url, put together by 'pelon' is probably going to serve your needs.

http://www.xlfag.com/zaurus

It contains a link to a hdd1.tar.gz file which contains the files from the first partition of the hard disk.
I have this file, but unfortunatly it does not contain most interesting part - /etc directory.  

I have NAND backup image from http://www.xlfag.com/zaurus

Is NAND a plain FLASH memory dump? And what is SL-C3000 memory layout?
Can I cut mtdblock3 part from this NAND and mount it as JFFS2?

--
  Eugene

13
C1000/3x00 General discussions / Sl-c3000 Initrd Image
« on: February 16, 2005, 08:56:09 am »
Is initrd image for SL-C3000 somewhere in Inet?

I try to understand booting process and MD management on SL-C3000 and port it to SL-6000. But I don't have SL-C3000 :-(.
Can somebody help me and post link to initrd image or tarred /etc directory?

--
  Eugene

14
6000 - Tosa / Sl-6k To Sl-c3k Conversion
« on: February 14, 2005, 06:00:46 am »
Is any way to move Qtopia from internal memory to CF-card?
I think about porting SL-C3K booting process to my SL-6K.
Have somebody any suggestion?

Eugene.

15
6000 - Tosa / Software for the SL-6000
« on: January 18, 2005, 05:49:24 am »
TO: inode0
Pls fix link onto your openssl_0.9.7e_arm.ipk package.

Pages: [1] 2