![]() |
pilot error or faulty hardware?
Hello,
I now understand where the two SD slots are mounted, but unfortunately I still haven't been able to get any SD card to read/write. I normally suspect pilot error in these cases, but I am beginning to wonder if I don't have a faulty N800. Does someone have a test or two to help me decide which this is? I have tried two instances of A-data 8GB SDHC cards (re-partitioned on another Linux box and setup with an ext2 filesystem), a 2GB Transcend SD card with the factory vfat/filesytem, and the original Nokia 128MB SD card that came with the N800. I can't read or write any of them with the N800. I can write a file to them on another computer (and have verified that both a Linux machine and a Windows machine can read that file on the vfat cards). But, when I put that card back in the external slot of the N800 and type 'ls /media/mmc1' in an xterm, the window hangs. If I put it in the internal slot, the corresponding ls command returns but displays no files. If I go to another xterm window and type 'dmesg', I see a bunch of mmci-omap I/O errors and command timeouts. For both the vfat and ext2 cards, mount is showing the correct filesystem type when it mounts the card - so it is at least partially reading the cards. Now I've seen posting here about using cheap SD cards, but since it is also happening with the SD card supplied by Nokia I'm thinking that isn't the case. (I am assuming that they supply a card of reasonable quality.) So, I'm left with some form of pilot error (e.g., I didn't format the cards correctly - but that doesn't explain the Nokia card) or faulty hardware. I normally discount having two separate faults at the same time (both slots dying), but perhaps I was extra bad last year and fate's come around to bite me. Is it worth flashing back to the 2007 OS version from the 2008 version? Should I try another kernel? (I think I've seen pointers to experimental kernels.) Thanks, Ed |
Re: pilot error or faulty hardware?
Sorry that I don't have a test, but have you used the file manager to see if the cards are recognized, as opposed to just xterm?
|
Re: pilot error or faulty hardware?
Quote:
that may be because I haven't learn yet how to navigate around the filesystem with the file manager. |
Re: pilot error or faulty hardware?
I have the same problem with my Internal 1GB on my N800 (file manager hanging, input/output error etc). My External works fine. But I have been using a kernel with 48hz mode.
If you want, I can make a standard kernel that has the debug http://intr.overt.org/2.2008.50-mmc-kernel/ mmc patch that sends messages to dmesg. But I don't know if it will help you any. BTW If you have Linux on your computer, you won't even need to flash this kernel. Just boot from it and see the debug messages. When you turn off the N800, it will be back to original kernel. |
Re: pilot error or faulty hardware?
Since removing the extraneous "mmcblk0 to mmc1" line in the
fstab file, I seem to have gotten a bit further. Now the cards almost always mount in either slot and I was able to 'cat' a file (that only has four characters in it). Mounting does fail more frequently on the internal slot. But, it doesn't always work even with this small file. Plus, if I try to do something "big" - like fire up maemo-mapper - and have extensive reads and writes, then things go bad again. (And this is with the Nokia 128MB card. So blaming everything on a faulty card isn't high on my list right now. Another tidbit, the SDHC cards appear to do worse than the SD cards - VFAT fs vs. ext2 fs?) Quote:
a try. I do see some mmc errors already in dmesg, but I'm not sure what to make of them. So maybe a deeper level of debugging would provide better insight. (For example, I just tried mapper again and I got a bunch of *mmcblk0* error messages - even though I have no card in the internal slot, just the Nokia card in the external slot.) And, yes, I do generally use Linux on my home PC, so if you would kindly let me know where I could grab the kernel and how to boot it over USB I would appreciate it. (I didn't see instructions for booting this way on the wiki; I'll search the forums as well.) TIA Ed P.S. Potentially related but maybe not, the dmesg output also has some JFFS2 errors due to bad CRCs. I'm assuming this is for the internal-internal flash. Is this normal, or is my flash going south? |
Re: pilot error or faulty hardware?
Quote:
[ 281.898437] mmc0: clock 48000000Hz busmode 2 powermode 2 cs 0 Vdd 18 width 2 timing 2 [ 281.921875] mmc0: clock 48000000Hz busmode 2 powermode 2 cs 0 Vdd 18 width 2 timing 2 [ 283.648437] mmc1: clock 25000000Hz busmode 2 powermode 2 cs 0 Vdd 15 width 2 timing 0 I believe my 1gb having the same problem is because of the custom krnl i'm using to enable 48hz. EDIT: After looking through kernel, there is a proper mmc debug mode (not tested by me), if you wish, i will compile standard kernel with debug patch above and mmc debug mode enabled in kernel. http://maemo.org/community/wiki/HowT...elCompilation/ That page shows how to boot a kernel and if you want - flash it. jffs2 does refer to the internal flash. Those errors aren't normal afaik, maybe you should install fanoush's initfs to at least have mmc boot. EDIT: There is also a verbose jffs 2 option, if you want, I can add that in too. |
Re: pilot error or faulty hardware?
@Ed C
Bump. Sorry, read above, I've added in some notes, if you want me to compile, let me know (before 6:00 PM GMT, that's when I have to go, sorry) |
Re: pilot error or faulty hardware?
Quote:
appreciate a kernel to try out. I have built kernels & modules for my home PC, but it has always been at the level of turning on/off flags in the config file. I haven't played with patching a kernel yet. I'll take a look at getting a cross compiling environment setup and try to build a "normal" bootable kernel. (Ideally one that won't brick my tablet.) But, while I'm getting that working, it would be great to try a kernel from a seasoned veteran. That way if it doesn't boot, then I know to blame my boot procedure, not my build procedure. Thanks Ed |
Re: pilot error or faulty hardware?
Quote:
http://www.progbox.co.uk/wordpress/?p=453 - I followed this guide for the environment. But the wget links need fixing. I replaced 4.0 with 4.0.1 http://maemo.org/development/documen...for_maemo.html - This page gets you started on Kernel Compiling. Skip the Prerequisites & Getting Kernel Sources though. The new target you make as a result of those instructions do not work. Make sure you are in Chinook-Armel target, run Quote:
Patching is a bit flaky for me, I admit :o, I've made changes myself using the patch as a reference... :p I'm not really seasoned, :). I only learnt about kernel modding recently :) fanoush's posts contain a lot of info too. Including a patch to make menuconfig work. Here is a kernel I've compiled. It has the debug patch applied that I mentioned & mmc debugging enabled in kernel. Everything else is standard nokia_2420_defconfig ;) Please remember, you aren't meant to flash this kernel, just boot from it :p. I didn't compile in jffs2 debug (not even at 1) as it really really slows down tablet and is making mine at least very near impossible to boot. I've tested it on my N800 fine. MMC Debugging works. Download here: http://www.mediafire.com/?e5j0mznujyy Grab flasher-3.0 and untar the kernel and use Quote:
|
Re: pilot error or faulty hardware?
Hi,
I have a similar problem but I think it's due to another issue. I've compiled a kernel for my n800 and it works fine except it doesn't mount the external sdcard. I've looked in the /dev directory and there is only one mmcblk device: mmcblk0. I have 2 4GB sdcards on my n800 and they both work flawlessly when I use the default kernel from the latest OS update(Version 2008SE_2.2007.51-3). I've ruled out the possibility of the having a damaged sd card because when I change the position of the sdcards the result is the same: the internal slot sdcard is mounted correctly and the external sdcard isn't mounted. I've also been carefull to lock both slot ports. I've compiled a kernel from the kernel-source-rx-34_2.6.21.0.orig.tar.gz with the default configuration found in the nokia_2420_defconfig file. It has mmc built-in support and the debugging option is not selected. The only message I see on /proc/kmsg, when inserting a sdcard on the external slot, is: "mmci-omap mmci-omap.1: command timeout (CMD8)". So I've compiled a kernel with mmc debug and the messages on /proc/kmsg when the sdcard is inserted on the external slot are: <7>[ 229.429687] mmc1: clock 0Hz busmode 1 powermode 1 cs 0 Vdd 21 width 0 timing 0 <7>[ 229.429687] mmc1: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0 <7>[ 229.429687] mmc1: clock 400000Hz busmode 1 powermode 2 cs 1 Vdd 21 width 0 timing 0 <7>[ 229.429687] mmc1: starting CMD0 arg 00000000 flags 00000040 <7>[ 229.437500] mmci-omap mmci-omap.1: MMC IRQ 0001 (CMD0): EOC <7>[ 229.437500] mmc1: req done (CMD0): 0/0/0: 00000000 00000000 00000000 00000000 <7>[ 229.437500] mmc1: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0 <7>[ 229.437500] mmc1: starting CMD8 arg 000001aa flags 00000075 <7>[ 229.437500] mmci-omap mmci-omap.1: MMC IRQ 0080 (CMD8): CTO <7>[ 229.437500] mmc1: req done (CMD8): 1/0/0: 00000000 00000000 00000000 00000000 <7>[ 229.437500] mmc1: starting CMD55 arg 00000000 flags 00000015 <7>[ 229.437500] mmci-omap mmci-omap.1: MMC IRQ 0080 (CMD55): CTO <7>[ 229.437500] mmc1: req done (CMD55): 1/0/0: 00000000 00000000 00000000 00000000 <7>[ 229.437500] mmc1: starting CMD55 arg 00000000 flags 00000015 <7>[ 229.437500] mmci-omap mmci-omap.1: MMC IRQ 0080 (CMD55): CTO <7>[ 229.437500] mmc1: req done (CMD55): 1/0/0: 00000000 00000000 00000000 00000000 <7>[ 229.437500] mmc1: starting CMD55 arg 00000000 flags 00000015 <7>[ 229.445312] mmci-omap mmci-omap.1: MMC IRQ 0080 (CMD55): CTO <7>[ 229.445312] mmc1: req done (CMD55): 1/0/0: 00000000 00000000 00000000 00000000 <7>[ 229.445312] mmc1: starting CMD55 arg 00000000 flags 00000015 <7>[ 229.445312] mmci-omap mmci-omap.1: MMC IRQ 0080 (CMD55): CTO <7>[ 229.445312] mmc1: req done (CMD55): 1/0/0: 00000000 00000000 00000000 00000000 <7>[ 229.445312] mmc1: starting CMD1 arg 00000000 flags 00000061 <7>[ 229.445312] mmci-omap mmci-omap.1: MMC IRQ 0080 (CMD1): CTO <7>[ 229.445312] mmc1: req done (CMD1): 1/0/0: 00000000 00000000 00000000 00000000 <7>[ 229.445312] mmc1: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0 <7>[ 240.398437] mmc1: clock 0Hz busmode 1 powermode 1 cs 0 Vdd 21 width 0 timing 0 <7>[ 240.398437] mmc1: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0 <7>[ 240.406250] mmc1: clock 400000Hz busmode 1 powermode 2 cs 1 Vdd 21 width 0 timing 0 <7>[ 240.406250] mmc1: starting CMD0 arg 00000000 flags 00000040 <7>[ 240.406250] mmci-omap mmci-omap.1: MMC IRQ 0001 (CMD0): EOC <7>[ 240.406250] mmc1: req done (CMD0): 0/0/0: 00000000 00000000 00000000 00000000 <7>[ 240.406250] mmc1: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0 <7>[ 240.406250] mmc1: starting CMD8 arg 000001aa flags 00000075 <7>[ 240.406250] mmci-omap mmci-omap.1: MMC IRQ 0080 (CMD8): CTO <3>[ 240.406250] mmci-omap mmci-omap.1: command timeout (CMD8) <7>[ 240.406250] mmc1: req done (CMD8): 1/0/0: 00000000 00000000 00000000 00000000 <7>[ 240.406250] mmc1: starting CMD55 arg 00000000 flags 00000015 <7>[ 240.406250] mmci-omap mmci-omap.1: MMC IRQ 0080 (CMD55): CTO <7>[ 240.406250] mmc1: req done (CMD55): 1/0/0: 00000000 00000000 00000000 00000000 <7>[ 240.406250] mmc1: starting CMD55 arg 00000000 flags 00000015 <7>[ 240.414062] mmci-omap mmci-omap.1: MMC IRQ 0080 (CMD55): CTO <7>[ 240.414062] mmc1: req done (CMD55): 1/0/0: 00000000 00000000 00000000 00000000 <7>[ 240.414062] mmc1: starting CMD55 arg 00000000 flags 00000015 <7>[ 240.414062] mmci-omap mmci-omap.1: MMC IRQ 0080 (CMD55): CTO <7>[ 240.414062] mmc1: req done (CMD55): 1/0/0: 00000000 00000000 00000000 00000000 <7>[ 240.414062] mmc1: starting CMD55 arg 00000000 flags 00000015 <7>[ 240.414062] mmci-omap mmci-omap.1: MMC IRQ 0080 (CMD55): CTO <7>[ 240.414062] mmc1: req done (CMD55): 1/0/0: 00000000 00000000 00000000 00000000 <7>[ 240.414062] mmc1: starting CMD1 arg 00000000 flags 00000061 <7>[ 240.414062] mmci-omap mmci-omap.1: MMC IRQ 0080 (CMD1): CTO <7>[ 240.414062] mmc1: req done (CMD1): 1/0/0: 00000000 00000000 00000000 00000000 <7>[ 240.414062] mmc1: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0 But still the external sdcard isn't mounted. I'm thinking the problem is some kernel config I've overlooked. Has anyone had this problem? Does anyone have any hint on solving this problem? I really need a compiled kernel in order to get an USB 2.0 ethernet adapter working. Thanks in advance, rdc |
All times are GMT. The time now is 03:38. |
vBulletin® Version 3.8.8