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 - utx

Pages: [1] 2 3 ... 9
1
Hardware Mods / C760 Replace Bad Nand Chip
« on: April 23, 2014, 10:32:10 am »
Quote from: dmarschal
so it might be possible to add a double size Samsung chip.
Maybe double size, but not double bus width. Looking at the SL-C3100 schematics, only 8 data lines are wired.

Quote from: dmarschal
The PROM is an Intel 28F chip, at least in a C760 and it seems it has software-locked sectors.
According to the documentation of SL-C3100, LH28F640B (Sharp-NorFlash64Mb) or 28F256L30 (Intel-SynNorFlash256Mb) can be used instead of MR27T6312G-XXXTP (Oki-P2ROM-64Mb-withOTP) (both have a dedicated open position on the PCB).

You can find more datasheets on my datasheets page.

2
Hardware Mods / C760 Replace Bad Nand Chip
« on: April 22, 2014, 12:45:24 pm »
Quote from: dmarschal
Does it mean the SAMSUNG F9F series is supported only in 64Mx8 bit size?
Blindly guessing, that other sizes may be possible as well. Only 8 bits are wired. But I may be wrong and only selected memory types are recognized.

But there are two Flash slots. One is empty. So you may be able to solder twice more NAND flash.

Quote from: dmarschal
I think it would be possible to modify mainte.bin to accept other flash IDs.
It will not help. First stage boot runs from PROM (at least on SL-Cxx00 models). It loads second stage boot from NAND. If NAND flash chip is not recognized, second stage boot never happens.

You would need to replace PROM by NOR flash to be able to change flash IDs. (And you would need to know the checksum algorithm to keep it running.)

Only modern OneNAND chips (that did not exist in time of Zaurus release yet) support cold booting.

Quote from: dmarschal
On "C+D" menu and "CF update" in "D+M" menu, both LEDs are on for a second or two then they start blinking. What does this exactly mean?
(I'm checking the code in mainte.bin and diag.bin to find it out. flash code starts at 0xbc554, mainte loaded at 0x0, diag.bin loaded at 0x7c000)

BTW the 'NAND Bad Count' gives me 8192 blocks with a nice
Code: [Select]
ERROR! No partition info
code=(610)
message. I think it's dead.
Well, I don't know, what LEDs mean.

You can run diagnostics from the PROM. In the default setup, it is exactly the same as the NAND diagnostics (again on SL-Cxx00 models, I don't know SL-Cxx0 models), but it is capable to run even in case of totally broken NAND. I don't remember the key combination exactly, but I am guessing something line Fn+D+M. (You can find it somewhere in forum.)

Partition info is part of one of the first blocks of the NAND. It exists there in many copies for the case of broken blocks. If all reserved blocks are broken, Zaurus is not capable to find the partition table.

You can run ROM diag, try to reflash fresh NAND image, and see whether it will work.

3
Hardware Mods / C760 Replace Bad Nand Chip
« on: April 15, 2014, 12:06:22 pm »
Quote from: dmarschal
The K9K is hard to get but the K9F series (slc normal) is widely available and much cheaper.
I am afraid that K9K has 2kB memory pages, but K9F has 0.5kB memory pages.

It is easy to change this setup in the kernel but I have no idea whether the bootloader ROM is able to boot from 2k pages.

SL-C3200 has K9F memories, but the service manual mentions K9K memories. The kernel handles special NAND layout by static struct nand_ecclayout akita_oobinfo. I don't see it for other models.

4
Accessories / Wireless Lan W-02 Sdhc Memory Card
« on: August 07, 2013, 03:40:19 pm »
Quote from: _dark_
Would it work on  colie or akita?
Probably yes with a SDHC capable system (i. e. not in the stock Sharp ROM). But you will be limited to FAT32 file system, and unless somebody writes full FlashAir driver, it will work only for file transfer. (But it is still better than Eye-Fi, where you would be limited to JPG files).

5
Quote from: espi
It's been years since I started up the Zaurus, and I broke something.
I snapped the super tiny switch toggle on the motherboard that is triggered by the plastic slider that locks in the battery door.

Thanks for any suggestions. I'd be happy to just solder a couple points together and have it  remain in a permanent position if that would be advisable.

Look for part SPVP110100 (available e. g. from Mouser Electronics). If you can live without it, you can remove it completely. I am not sure, whether Zaurus is active when it is open or closed. Please test. In the second case, you need to solder a piece of wire between two soldering points previously populated by the switch.

6
C1000/3x00 General discussions / C3200 Boot Process
« on: October 02, 2011, 05:03:11 pm »
Quote from: Skaarj
I've tried to make a little investigation
Code: [Select]
# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 006b0000 00020000 "Boot PROM Filesystem"
mtd1: 00700000 00020000 "Logical"
mtd2: 07900000 00020000 "JFFS2"
mtd2 contains jffs2 filesystem. After mounting /dev/mtdblock2 I've got opt/native/arm/3.4.6-xscale-sftvfp directory with system files (bin, include etc)
After dumping mtd1 and analyzing strings, I've found that it's UBoot.
One interesting string:
Quote
bootargs=console=ttyS0,115200 console=tty1 root=/dev/ram rw fbcon=rotate:1 ramdisk_size=8192
bootcmd=if testkey 101 ; then nand read.logical 0xa1000000 0x00060000 0x00540000; setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/ram rw fbcon=rotate:1 ramdisk_size=8192; bootm; fi; if testkey 2 ; then nand read.logical 0xa1000000 0x005a0000 0x00160000; setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p1 fbcon=rotate:1; bootm; fi; if testkey 18 ; then nand read.logical 0xa1000000 0x005a0000 0x00160000; setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hda1 fbcon=rotate:1; bootm; fi; if testkey 3 ; then nand read.logical 0xa1000000 0x005a0000 0x00160000; setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/hdc1 fbcon=rotate:1; bootm; fi; nand read.logical 0xa1000000 0x005a0000 0x00160000; setenv bootargs console=ttyS0,115200 console=tty1 root=/dev/mtdblock2 rootfstype=jffs2 fbcon=rotate:1; bootm;

dmesg says that mtd0 is sharpsl flash and mtd1 and mtd2 are sharpsl nand

What is sharpsl flash?

There are two partitions on PROM:
Boot PROM code: invisible partition, you can find a patch to make it visible on my Zaurus web pages.
English-Japanese dictionary database: here it is called "Boot PROM Filesystem"

And three partitions on NAND:
Initial partition that does not contain filesystem and contains configuration, NAND bootloader and two kernel images
Two JFFS2 file systems with root and home for Sharp ROM. (Note that partitioning in kernel 2.6 is incorrect for SL-C3200.)

See this post for details.

7
C1000/3x00 Hardware / Unknown Ics
« on: September 20, 2011, 10:35:47 am »
Quote from: Skaarj
So, what does actually NAND contain?
String from SYSTC320.DBK contain text from diagnostic menu (which is accessible by pressing D+M)
And I don't understand where diagnostic menu code exists. Can it be duplicated in PROM and NAND?

Yes, it is duplicated or nearly duplicated. D+M is NAND diag, Fn+D+M is ROM diag. ROM diag works even with corrupted NAND.

PROM and NAND memory map on Sharp Zaurus SL-C3200
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(it is known to be different from all other models including SL-C3100)

PROM
====
8 MiB PROM Read only memory for production models, NOR flash for
pre-production models.

 PROM BOOTLOADER "ROM"
 -------------------------------
 address 0x00000000, size 0x00140000
 contents: Bootloader.

 PROM MTD0 "Filesystem" "ROM DATA"
 --------------------------------------------
 address 0x00140000, size 0x006b0000
 contents: EN-JP dictionary database.

NAND
====
128MiB NAND flash, erase size 0x00020000

 NAND MTD1 "smf" "BOOT"
 ------------------------------
 address 0x00000000, size 0x00700000

  address 0x00000000, size 0x00040000 MAINTE

0x48000 0x4000 VERBLOCK
0x70000 0x4000 MVRBLOCK

  address 0x00040000, size 0x00040000 NAND bootloader

Values from SL-6000:
0x00040000 AdjValue
0020020     ffff    ffff    ffff    ffff    ffff    ffff    5554    4843
0020040     80ec    3d87    70dc    3dbc    ffee    ffff    fff0    ffff
0020060     ffff    ffff    ffff    ffff    4850    4441    0000    0000
0x00044000 BootFlag ff
0x00048000 Version *
names of MTD sections
positions of sections
checksums
0x0004c000 Clock 0000000     0425    1971    82b1    4660
0x00050000 ROMount ff
0x00054000 RWMount ff
0x00058000 RSV_58
0x0005c000 RSV_5C
0x00060000 PartitionInfo1 *
0x00064000 PartitionInfo2 *
0x00068000 Model *
0x0006c000 RSV_6C
0x00070000 MVersion *
 master version
 checksums of mtd sections
0x00074000 RSV_74
0x00078000 RSV_78
* verified for SL-C3200
0x000e0000 DATA   standard kernel

Values from param_version:
0x00000000 Mainte "MAINTE" "MAINTE.BIN"
1. 00000000-00040000
0x00040000 Parameter Area
0x0007c000 NAND Diag "DIAG" "NANDDIAG.BIN"
2. 00080000-000e0000
0x000e0000 Zimage 2 "KERNEL2" "ZIMAGE.BIN+INITRD.BIN"
3. 00220000-0035c000
4. 00360000-00680000
0x00220000 Zimage 1 "KERNEL1" "ZIMAGE.BIN+INITRD.GZ"
5. 000e0000-0021c000
6. 07000000-03100000 (i. e. FSRO)
0x00360000 Initrd 2 "FLSYS2" "INITFS.BIN"
7. 03200000-08000000 (i. e. FSRW)
0x00700000 "ROFLSYS?" "PARAMINF.BI"
8. 00060000-0006c000

NAND MTD2 RO JFFS2 file system "root" "FSRO"
-------------------------------------------------------
address 0x00700000, size 0x02b00000

NAND MTD3 RW JFFS2 file system "home" "FSRW"
---------------------------------------------------------
address 0x03200000, size 0x04e00000

8
C1000/3x00 Hardware / Unknown Ics
« on: September 19, 2011, 10:42:57 am »
Quote from: Skaarj
Thank you for explanation!
Quote
Just a plain custom programmed 8MiB PROM with bootloader, ROM diag and EN-JP dictionary database.
So, if I understand correctly, it contains initial bootloader that execute code from NAND and diagnostic menu code, doesn't it?

Yes. ROM diag code is also there. And probably more (debugging monitor?), but there is no documentation.

9
C1000/3x00 Hardware / Unknown Ics
« on: September 19, 2011, 06:57:25 am »
Quote from: Skaarj
Here three unknown Sharp ICs are shown.
Two chips marked as
SHARP
50752B26B2
F0703T588

Sharp proprietary SCOOP chips. In fact they are custom programmed ASIC (gate array) chips S1L50752B26B200. Both are probably exactly the same. They are used as a CF interface, remaining pins are used as a GPIO pins for many purposes (see scoop in kernel sources).

Quote from: Skaarj
and one marked as
RX-IX0032YCPZQ
I've found almost nothing about these chips on the net.
What can it be?

Just a plain custom programmed 8MiB PROM with bootloader, ROM diag and EN-JP dictionary database.

10
C1000/3x00 General discussions / C3200 Boot Process
« on: September 12, 2011, 10:39:24 am »
Quote from: Skaarj
Thank you. Is it possible to obtain detailed information about this process somewhere?

There is a list of known keys somewhere in this forum as well as partially decoded NAND map, but both loaders are (probably) undocumented proprietary applications. It seems that both loaders are very similar (if not the same).

11
C1000/3x00 General discussions / C3200 Boot Process
« on: September 11, 2011, 10:43:07 am »
Quote from: Skaarj
Hi. I'm very interesting how zaurus boots up.
What does happen when power is applied?
There is no information about internal flash in PXA270 datasheet. So where is maintenance menu (and rescue mode) code located? What does handle special key pressing?
Unfortunately, I haven't found any really useful information.

It jumps somewhere to the PROM and runs bootloader (or ROM menu). In the standard mode, it loads NAND bootloader (or NAND menu). NAND bootloader processes records in the dedicated NAND area, sets the hardware, creates kernel arguments and runs one of the kernels in the dedicated areas. Then it continues with a standard Linux boot depending on the image in the flash.

At least one code is processed by the PROM code (ROM diag), most of the rest by rthe NAND code.

12
C1000/3x00 Hardware / 3100 Optimisation
« on: November 17, 2010, 01:58:09 pm »
Quote from: flux
with my new edup ep-n8508, i tried what you told :
echo 1 > /sys/bus/usb/devices/usb1/bConfigurationValue

Sadly, when i plug wifi, i get :

rejected 1 configuration due to insufficient available bus power.

Do i miss something ?

First plug the device, then you can force configuration to load. Client devices have name "number-number". "usbnumber" is a host device.

13
C1000/3x00 Hardware / 3100 Optimisation
« on: November 08, 2010, 05:19:13 pm »
Quote from: flux
This place seems small to make wifi fit, but i saw you only kept wifi module. Do you have any picture of the module in the place (infrared...), and, what would be great, the wires from where to where they go... i wanna see/know what wires must connect even if finally, i don't touch the inside of the zaurus not to break it...

No, I don't have a photo, I did not solder it yet, but I am sure that it fits there without cover. You need five wires: GND (many places), VBATT (many places), 2x USB (see albertr photos or try to find soldering points), RFKILL (I have an idea to use one of spare SCOOP IOs that have soldering points below the plastic cover near the HDD connected to modified Ralink dongle (see the description on its teardown page).

Quote from: flux
Quote from: utx
There are following problems:
  • It claims 500mA. You have to tell to kernel that it is OK.
where to tell the kernel it's ok (which option of the .config ?) ?
the power saving is a real problem, especially if the nano-wifi is inside the zaurus, and can be not plugged out when not used. my solution to add an external usb female (big) comes out again...

echo 1 >/sys/bus/usb/devices/1-2/bConfigurationValue

Power saving is not such a big problem, you just have to implement RFKILL to decrease power consumption to zero when not in use. It is always a good idea, even the best WLAN needs 10mA in power saving modes.

Quote from: flux
Quote from: utx
Why you need large or no USB? Buy or build an adapter. If you damage a standalone connector, the loss would be just about one dollar.

i'd like a large USB because the nano wifi onto wouldn't break the zaurus shape... an adaptater onto the small usb would be bigger than the NANO-wifi... it's so small... have you seen the picture on my first post... it's smaller than your mini-wifi...
2nd, with an other usb entry, i could fit keyboard and wifi, keyboard and mouse ... without carrying the external usb-hub.

Quote from: utx
The free space below arrow crosses has only 14mm x 22mm. And there is a distantion stand, which could make an obstruction for the wireless signal. Take in account that you need ideally at least 5mm of non-conductive (free) space around antenna. (Well, my dongle definitely does not fit there, but I hope that a small Bluetooth module may fit there.)
i understand the problem, but with you wifi module into the infrared (...) place... the problem isn't the same ? i thought the place under arrow key was bigger...

The place near the infrared is larger but it's very thin. The place under the arrow is thick but small. far the largest space could be find inside internal plastic cover near the HDD. But it is not useful for wireless.

Quote from: flux
Quote from: utx
Changing resistor to 1K sounds interesting, but I am thinking about software switch for it (so kernel can compute whether it is possible to provide 500mA).
that was what you told me above with the kernel ? yeah, would be less dangerous that switching the resistor... how do we tell kernel to give more power if needed ?

There are two different things: Tell the kernel that it's OK to run a device that claims 500mA and really provide 500mA. Without the hardware modification, Zaurus still provides not more than 180mA.

Quote from: flux
Quote from: utx
I already have everything ready for the WLAN and an idea about Bluetooth, but not yet done anything of it.

please, do not hesitate to post here the thought and try you do, with picture if possible... i'd like to learn all about this.


There are several other posts here that discuss these modifications: WLAN, Bluetooth, stereo recording.

14
C1000/3x00 Hardware / 3100 Optimisation
« on: November 05, 2010, 09:09:47 am »
Quote from: flux
1) replace the 4GB micro-drive by a CF of 16 or 32 GB ; is there any limitation on the CF card GB size ?

Probably not. CF standard is not SD and does not change specification every few years.

Quote from: flux
2) I'd like to run wifi and gps at the same moment sometimes. here is my idea :
i'd like to get a "nano wifi" (like this one : http://cgi.ebay.com/Mini-EDUP-Wireless-N-1...b#ht_5120wt_883 )  
chipset rtl 8188 csu, supported according to this thread : http://ns.spinics.net/lists/linux-wireless/msg47477.html

I have this one. It works well and has a good sensitivity. It even can run with 180mA power which unmodified Zaurus can provide. It can run on 3.3V and it is possible to implement hardware rfkill without external parts. It is small enough to fit inside Zaurus SL-C3x00 (in the space between battery connector, infrared and ioport).

There are following problems:
  • It claims 500mA. You have to tell to kernel that it is OK.
  • Ralink driver is poorly written and wants large contiguous pieces of memory. (It's hard to allocate it on a longer time running system.)
  • Power saving mode is not optimal. I can imagine better saving.
Quote from: flux
and here i have several solutions...
      * if possible, transform the big USB in mini USB.
      * add a big usb female adapter in my zaurus. i found a place to make it fit under the arrow cross (down right of the keyboard).
      * remove the USB adapter, keep only the wifi module, and make it fit under the arrow cross.
the second and third solutions are the ones i prefer, especially the 2nd (new usb female adapter). it would need to change the resistor to 1K (according to albertr, see : http://www.penguin.cz/~utx/zaurus/www.iral...aurus/wireless/ )
add an hole in the zaurus (under the arrow cross), and have 4 electrics wires run into the zaurus to the usb female adapter.
(the third solution requires the same wiring, but no hole in the zaurus).
i obviously can't wire it myself, i don't have the skills. but i wonder if i knew exactly what must be connected "where" and "to what", maybe i could find an electrician near my location that could wire it for me (4 wires, and the  1K resistor).

Why you need large or no USB? Buy or build an adapter. If you damage a standalone connector, the loss would be just about one dollar.

The free space below arrow crosses has only 14mm x 22mm. And there is a distantion stand, which could make an obstruction for the wireless signal. Take in account that you need ideally at least 5mm of non-conductive (free) space around antenna. (Well, my dongle definitely does not fit there, but I hope that a small Bluetooth module may fit there.)

Changing resistor to 1K sounds interesting, but I am thinking about software switch for it (so kernel can compute whether it is possible to provide 500mA).

Quote from: flux
i need you to advise me about that, what you think about my wishes (CF, and usb nano-wifi).

Well, I am thinking about internal WLAN and Bluetooth and 500mA modification as well.

I already have everything ready for the WLAN and an idea about Bluetooth, but not yet done anything of it.

15
Zaurus - pdaXrom / Scite Don't Starts Anymore
« on: September 10, 2010, 02:21:16 pm »
Quote from: climber
Widget.cxx: In member function `bool WBse::Sensitive()':
Widget.cxx:31: error: `gtk_widget_get_sensitive`was not declared in this scope
Widget.cxx:31: warning: unused variable 'gtk_widget_get_sensitive'

gtk_widget_get_sensitive is a function defined in the gtk header files. Your compiler thinks that it is variable for some reason (missing include?).

Pages: [1] 2 3 ... 9