Topic: Touch screen is upside down but display is normal (and no wifi)

After a power loss last night the Chumby came back in a rather odd state the touch screen portion of the display is upside down while the actual display is right side up. So to activate the buttons on the bottom of the screen you actually have to press in the same spot at the top of the screen.

It is also no longer able to connect to my wifi access point. I can see the access point in the list, I can enter a key (very painfully given the upside down issue). But it never connects. It tries too, but the end result is a restart of the control panel. I tried re-flashing to the latest software but that did not fix it.

My thinking is that it might be a calibration issue but without wifi I can't get into the calibration screen to try and fix the issue.

Any ideas?

BTW this is the second unit that this *exact* same thing has happened too.

Re: Touch screen is upside down but display is normal (and no wifi)

Restoring to factory defaults should reset the touchscreen calibration.

Re: Touch screen is upside down but display is normal (and no wifi)

I tried that. I get to the screen that says:

All personal settings will be restored to to the default settings - are you sure you want to continue

When I press "Ok" nothing happens though cancel does work.

Does this call a script? Can I issue the same thing from a command prompt (if I plugged in a keyboard)?

Re: Touch screen is upside down but display is normal (and no wifi)

Well, if you have keyboard access, just run the flash player with an extra parameter to force touchscreen calibration:

# chumbyflashplayer.x -i /usr/widgets/controlpanel.swf -dfirsttime=1

-d declares a variable on the root timeline of the movie - the Control Panel recognizes "firsttime" and will run through the initial startup wizard.

Re: Touch screen is upside down but display is normal (and no wifi)

Also, the touchscreen calibration settings are in /psp/ts_settings

For Ironforge, a typical calibration is "159,3886,3951,-3806,0"

For Falconwing, a typical calibration is "136,3768,3835,-3540" - also put "208,3831,4026,-3756,0" in /psp/ts_hid_settings.

Obviously, no quotes smile

Re: Touch screen is upside down but display is normal (and no wifi)

The plot thickens.

Looks like the PSP slice is corrupted and will not mount. The wifi is probably not connecting because it can't save the settings like wise the touch screen is upside down because it has no settings.

Is there a way to redo the PSP slice?

Re: Touch screen is upside down but display is normal (and no wifi)

When you did the "restore factory settings" did you wait, or did you reset the device? It takes about 10 seconds before it switches to another screen.  If so, you may have interrupted a reformatting of the partition.

From the command-line, try "/usr/chumby/scripts/restore_factory_defaults.sh" to restore it manually.

We're trying to similarly corrupt a unit here  - we'll see if we can come up with some commands to reformat it entirely.

Re: Touch screen is upside down but display is normal (and no wifi)

If your /psp partition is corrupt, try running fsck and remounting it via:

stop_control_panel
killall httpd crond
sleep 1
killall -9 httpd crond
umount /psp
fsck.ext3 -y /dev/mmcblk0p5
mount /psp
sync

If that doesn't work, try reformatting the partition and extracting a clean psp tarball to it via:

stop_control_panel
killall httpd crond
sleep 1
killall -9 httpd crond
umount /psp
mkfs.ext3 /dev/mmcblk0p5
fsck.ext3 -y /dev/mmcblk0p5
mount /psp
cd /
tar zxvf /usr/share/defaults/psp.tar.gz
sync

... then reboot.

Re: Touch screen is upside down but display is normal (and no wifi)

Duane,

That did not work. It came back with the error:

tar: cannot remove old files: Read-only file system
Unable to restore /psp

which makes sens cause the psp slice is not mounted.


Ken,

Neither one of the suggestions works. fsck.ext3 comes back with no such file or directory while trying to open /dev/mmcblk0p5


if I do an "ls /dev | grep mm"  I only see mmcblk0 and mmcblk0p1 through mmcblk0p4 but not mmcblk0p5

10

Re: Touch screen is upside down but display is normal (and no wifi)

samkwitty wrote:

Neither one of the suggestions works. fsck.ext3 comes back with no such file or directory while trying to open /dev/mmcblk0p5

if I do an "ls /dev | grep mm"  I only see mmcblk0 and mmcblk0p1 through mmcblk0p4 but not mmcblk0p5

Odd.

Is this a stock chumby one firmware?

Please paste the output from the following:

mount
chumby_version -s
chumby_version -h
chumby_version -f

Re: Touch screen is upside down but display is normal (and no wifi)

yes stock ChumbyOne firmware of the website. I reflashd hoping it would fix the issue.

Here is the output

ls /dev/mm*
/dev/mmcblk0
/dev/mmcblk0p1
/dev/mmcblk0p2
/dev/mmcblk0p3
/dev/mmcblk0p4

mount
rootfs on / type rootfs (rw)
/dev/root on / type ext3 (ro,errors=continue,data=ordered)
tmpfs on /tmp type tmpfs (rw,mode=755)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
none on /var type tmpfs (rw,size=32768k)
none on /mnt type tmpfs (rw,size=32768k)
none on /dev type tmpfs (rw,size=32768k)
none on /dev/pts type devpts (rw,mode=600)
none on /proc/bus/usb type usbfs (rw)
/dev/sda1 on /mnt/usb-5280-0FCC type vfat (rw,noatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,utf8)

chumby_version -s
1.0.4

chumby_version -h
10.6

chumby_version -f
1.0.2913

12

Re: Touch screen is upside down but display is normal (and no wifi)

Somehow your /mnt/storage and /psp partitions got nuked.  Please post back your partition table by running the following:

chumby:~# fdisk /dev/mmcblk0

The number of cylinders for this disk is set to 192716.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/mmcblk0: 1973 MB, 1973420032 bytes
5 heads, 4 sectors/track, 192716 cylinders
Units = cylinders of 20 * 512 = 10240 bytes

        Device Boot      Start         End      Blocks  Id System
/dev/mmcblk0p1               1       14670      146697+ 53 Unknown
/dev/mmcblk0p2            1563       14063      125000+ 83 Linux
/dev/mmcblk0p3           14063       26563      125000+ 83 Linux
/dev/mmcblk0p4           26563      192308     1657444   5 Extended
/dev/mmcblk0p5           26564       39063      124998+ 83 Linux
/dev/mmcblk0p6           39064      192308     1532441+ 83 Linux

We'll probably have you recreate the mmcblk0p5 partition.  mmcblk0p6 should be automatically created during the boot process if it doesn't exist.

Re: Touch screen is upside down but display is normal (and no wifi)

Nuked is a good way to describe it. Here is the output you asked for:

The number of cylinders for this disk is set to 192102.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x00,0x00 of partition table 5 will be corrected by w(rite)

Command (m for help): p

Disk /dev/mmcblk0: 1967 MB, 1967128576 bytes
5 heads, 4 sectors/track, 192102 cylinders
Units = cylinders of 20 * 512 = 10240 bytes

        Device Boot      Start         End      Blocks  Id System
/dev/mmcblk0p1               1       14670      146697+ 53 Unknown
/dev/mmcblk0p2            1563       14063      125000+ 83 Linux
/dev/mmcblk0p3           14063       26563      125000+ 83 Linux
/dev/mmcblk0p4           26563      191693     1651300   5 Extended

14

Re: Touch screen is upside down but display is normal (and no wifi)

mmcblk0p6 (storage) is created automatically during boot as long as the mmcblk0p5 (psp) partition exists.  You should be able to create the mmcblk0p5 partition and reboot to get back up and running.

Do this to create the mmcblk0p5 partition:

cat <<EOF | fdisk /dev/mmcblk0
n
26564
39063
w
EOF
reboot

Re: Touch screen is upside down but display is normal (and no wifi)

It appears that I now have a mmcblk0p5 and mmcblk0p6. Do I need to issues the fsck/mkfs stuff again?

16

Re: Touch screen is upside down but display is normal (and no wifi)

You shouldn't have to, no.  Is everything working properly now?

Re: Touch screen is upside down but display is normal (and no wifi)

No the PSP slice is still messed up. Not mounted

mount
rootfs on / type rootfs (rw)
/dev/root on / type ext3 (ro,errors=continue,data=ordered)
tmpfs on /tmp type tmpfs (rw,mode=755)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
none on /var type tmpfs (rw,size=32768k)
none on /mnt type tmpfs (rw,size=32768k)
none on /dev type tmpfs (rw,size=32768k)
none on /dev/pts type devpts (rw,mode=600)
none on /proc/bus/usb type usbfs (rw)
none on /mnt type tmpfs (rw,size=32768k)
none on /var type tmpfs (rw,size=32768k)
none on /dev type tmpfs (rw,size=32768k)
/dev/sda1 on /mnt/usb-5280-0FCC type vfat (rw,noatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,utf8)


ls -all /dev/mm*
brw-rw----    1 root     disk     179,   0 Jan  1 03:29 /dev/mmcblk0
brw-rw----    1 root     disk     179,   1 Jan  1 03:29 /dev/mmcblk0p1
brw-rw----    1 root     disk     179,   2 Jan  1 03:29 /dev/mmcblk0p2
brw-rw----    1 root     disk     179,   3 Jan  1 03:29 /dev/mmcblk0p3
brw-rw----    1 root     disk     179,   4 Jan  1 03:29 /dev/mmcblk0p4
brw-rw----    1 root     disk     179,   5 Jan  1 03:29 /dev/mmcblk0p5
brw-rw----    1 root     disk     179,   6 Jan  1 03:29 /dev/mmcblk0p6


fdisk /dev/mmcblk0
The number of cylinders for this disk is set to 192102.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/mmcblk0: 1967 MB, 1967128576 bytes
5 heads, 4 sectors/track, 192102 cylinders
Units = cylinders of 20 * 512 = 10240 bytes

        Device Boot      Start         End      Blocks  Id System
/dev/mmcblk0p1               1       14670      146697+ 53 Unknown
/dev/mmcblk0p2            1563       14063      125000+ 83 Linux
/dev/mmcblk0p3           14063       26563      125000+ 83 Linux
/dev/mmcblk0p4           26563      191693     1651300   5 Extended
/dev/mmcblk0p5           26564       39063      124999+ 83 Linux
/dev/mmcblk0p6           39064      191693     1526296+ 83 Linux

18

Re: Touch screen is upside down but display is normal (and no wifi)

What happens when you run:

mount /psp

Also, try running:

create_storage_partition.sh /dev/mmcblk0

and paste back the results.

Re: Touch screen is upside down but display is normal (and no wifi)

Here are the results. Did you really mean mmcblk0 or should it have been mmcblk0p5?

mount /psp
mount: mounting /dev/mmcblk0p5 on /psp failed

create_storage_partition.sh /dev/mmcblk0
Storage partition already exists!

20

Re: Touch screen is upside down but display is normal (and no wifi)

/dev/mmcblk0 was the correct parameter.

What does 'ls -la /psp' return?

Can you successfully mount /dev/mmcblk0p5 to another location?

mkdir -p /mnt/psp
mount -t ext3 /dev/mmcblk0p5 /mnt/psp

Also please paste the output from:

strace mount /psp

Re: Touch screen is upside down but display is normal (and no wifi)

Here you go...

>>>ls -la /psp
drwxr-xr-x    2 root     root         1024 Mar  3  2010 .
drwxr-xr-x   23 root     root         1024 Jan  1  1970 ..

>>>mkdir -p /mnt/psp --> This had no return

>>>mount -t ext3 /dev/mmcblk0p5 /mnt/psp
mount: mounting /dev/mmcblk0p5 on /mnt/psp failed

>>>strace mount /psp
execve("/bin/mount", ["mount", "/psp"], [/* 21 vars */]) = 0
brk(0)                                  = 0x81000
uname({sys="Linux", node="(none)", ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001d000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/lib/tls/v5l/fast-mult/half/libcrypt.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/v5l/fast-mult/half", 0xbee83288) = -1 ENOENT (No such file or directory)
open("/lib/tls/v5l/fast-mult/libcrypt.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/v5l/fast-mult", 0xbee83288) = -1 ENOENT (No such file or directory)
open("/lib/tls/v5l/half/libcrypt.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/v5l/half", 0xbee83288) = -1 ENOENT (No such file or directory)
open("/lib/tls/v5l/libcrypt.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/v5l", 0xbee83288)      = -1 ENOENT (No such file or directory)
open("/lib/tls/fast-mult/half/libcrypt.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/fast-mult/half", 0xbee83288) = -1 ENOENT (No such file or directory)
open("/lib/tls/fast-mult/libcrypt.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/fast-mult", 0xbee83288) = -1 ENOENT (No such file or directory)
open("/lib/tls/half/libcrypt.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/half", 0xbee83288)     = -1 ENOENT (No such file or directory)
open("/lib/tls/libcrypt.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls", 0xbee83288)          = -1 ENOENT (No such file or directory)
open("/lib/v5l/fast-mult/half/libcrypt.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/v5l/fast-mult/half", 0xbee83288) = -1 ENOENT (No such file or directory)
open("/lib/v5l/fast-mult/libcrypt.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/v5l/fast-mult", 0xbee83288) = -1 ENOENT (No such file or directory)
open("/lib/v5l/half/libcrypt.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/v5l/half", 0xbee83288)     = -1 ENOENT (No such file or directory)
open("/lib/v5l/libcrypt.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/v5l", 0xbee83288)          = -1 ENOENT (No such file or directory)
open("/lib/fast-mult/half/libcrypt.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/fast-mult/half", 0xbee83288) = -1 ENOENT (No such file or directory)
open("/lib/fast-mult/libcrypt.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/fast-mult", 0xbee83288)    = -1 ENOENT (No such file or directory)
open("/lib/half/libcrypt.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/half", 0xbee83288)         = -1 ENOENT (No such file or directory)
open("/lib/libcrypt.so.1", O_RDONLY)    = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0$\7\0\0004\0\0\0\230"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=45563, ...}) = 0
mmap2(NULL, 229700, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40026000
mprotect(0x4002f000, 28672, PROT_NONE)  = 0
mmap2(0x40036000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8) = 0x40036000
mmap2(0x40038000, 155972, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40038000
close(3)                                = 0
open("/lib/libm.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\2501\0\0004\0\0\0\254"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=743679, ...}) = 0
mmap2(NULL, 704672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4005f000
mprotect(0x40103000, 28672, PROT_NONE)  = 0
mmap2(0x4010a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa3) = 0x4010a000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\300Q\1\0004\0\0\0\234"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1553002, ...}) = 0
mmap2(NULL, 1212984, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4010c000
mprotect(0x40227000, 32768, PROT_NONE)  = 0
mmap2(0x4022f000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11b) = 0x4022f000
mmap2(0x40232000, 8760, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40232000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001e000
syscall_5(0x4001e830, 0x4001ef00, 0x4002567c, 0x4001ef08, 0x40025050, 0x40025000, 0, 0xf0005, 0x50, 0x1, 0xffff5118, 0xbee839d4, 0, 0xbee83850, 0x400114ec, 0x40001f78, 0x20000010, 0x4001e830, 0, 0, 0, 0, 0x101ec, 0, 0, 0, 0, 0, 0, 0, 0, 0) = 0
mprotect(0x4022f000, 8192, PROT_READ)   = 0
mprotect(0x4010a000, 4096, PROT_READ)   = 0
mprotect(0x40036000, 4096, PROT_READ)   = 0
mprotect(0x40024000, 4096, PROT_READ)   = 0
getuid32()                              = 0
brk(0)                                  = 0x81000
brk(0xa2000)                            = 0xa2000
open("/etc/fstab", O_RDONLY)            = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=825, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001f000
read(3, "rootfs          /               r"..., 1024) = 825
read(3, ""..., 1024)                    = 0
stat64("/dev/mmcblk0p5", {st_mode=S_IFBLK|0660, st_rdev=makedev(179, 5), ...}) = 0
mount("/dev/mmcblk0p5", "/psp", "ext3", MS_NOATIME|MS_SILENT, "data=journal") = -1 EINVAL (Invalid argument)
write(2, "mount: "..., 7mount: )               = 7
write(2, "mounting /dev/mmcblk0p5 on /psp f"..., 38mounting /dev/mmcblk0p5 on /psp failed) = 38
write(2, "\n"..., 1
)                    = 1
exit_group(-1)                          = ?

22

Re: Touch screen is upside down but display is normal (and no wifi)

Ah, the partition is there, but its not formatted. Do this:

mkfs.ext3 /dev/mmcblk0p5
fsck.ext3 -y /dev/mmcblk0p5
mount /psp
cd /
tar zxvf /usr/share/defaults/psp.tar.gz
sync

Re: Touch screen is upside down but display is normal (and no wifi)

Victory! Just to summarize... If this happens again one needs to:

cat <<EOF | fdisk /dev/mmcblk0
n
26564
39063
w
EOF
reboot

mkfs.ext3 /dev/mmcblk0p5
fsck.ext3 -y /dev/mmcblk0p5
mount /psp
cd /
tar zxvf /usr/share/defaults/psp.tar.gz
sync

Re: Touch screen is upside down but display is normal (and no wifi)

You said you have another unit that happened to - can you confirm that this is the same issue?  We'd be very interested in determining how they got into this state, so please let us know if it happens again, and what steps might have led to it.

25

Re: Touch screen is upside down but display is normal (and no wifi)

samkwitty wrote:

Victory! Just to summarize... If this happens again one needs to:

You should be able to do it with only a single reboot by moving the reboot to the end of the sequence:

cat <<EOF | fdisk /dev/mmcblk0
n
26564
39063
w
EOF

mkfs.ext3 /dev/mmcblk0p5
fsck.ext3 -y /dev/mmcblk0p5
mount /psp
cd /
tar zxvf /usr/share/defaults/psp.tar.gz
sync
reboot