Familiar Release Notes
Familiar 0.8.4 was released on 20th August 2006. Please use it in preference to older releases (including previous "unstable" images). See FamiliarChangeLog for a list of changes.
General notes
-
The first boot may take quite a long time. Be patient - if you reset it at a critical stage during booting then you may damage your installation, and you'll have to start all over again. Although the h5xxx series sometimes requires a reboot if the install takes more than 15 minutes.
-
On first boot dropbear needs to generate the SSH keys. Therefore it will take longer. Tapping the screen / moving the stylus over the screen during first boot will decrease the boottime (this supplies random data for generating the keys).
-
From 0.8.2 onwards, there is no default root password, so you will need to set it before you can log in as root. GPE makes you do this automatically as part of the initial setup, on Opie you will need to do it yourself. To do this, use the passwd command from a console on the iPAQ, or alternatively from single user mode via serial:
-
Reset the unit with the joypad held down and go into to the bootloader serial console.
-
Show the boot parameters using show linuxargs
-
Type set linuxargs= then paste in the previous value, followed by a space and single
-
Type boot
-
If opie-mediaplayer2 has problems playing OGG files, please have a look at FamiliarOggOpie.
Known Issues in Familiar v0.8.4
None at present.
Known Issues in Familiar v0.8.3
Base system
h3600 images
-
We're shipping ALSA drivers now, which solves the 'plopping' problems people were seeing. But it seems to require a suspend/resume cycle after every reboot to get them working.
Known Issues in Familiar v0.8.2
Base system
-
#1313 - ipkg will not remove certain packages (says "Nothing to be done"). A fixed version (0.99.148) has now been added to the updates feed.
-
Due to the way libsdl-qpe currently works, we have had to provide separate packages for all SDL-dependent applications for x11 and qpe. This means that you cannot install the x11 and qpe variants of these applications side-by-side on the same unit (though most people don't normally do this anyway).
-
If you want ext2-formatted cards to be mounted automatically, you need to remove the user option from the appropriate line in /etc/fstab.
-
#722 - clicks and pops when opening/closing the sound device (UDA1380, e.g. iPAQ38xx). To (temporary) get rid of those clicks during playback use cat /dev/dsp > dev/null (e.g. in "Konsole") - this will keep the device open.
h3900: first suspend resets unit
On h3900 series iPAQs, the first time the unit is suspended, when the device is resumed you will find it has been reset (the bootloader will be showing). Subsequent suspends will work fine.
h3600: remove unused packages before updating
On older h3600 devices with less memory, it is recommended that you remove some unused packages before doing an ipkg update or you may run out of space. See FamiliarSlimDownHowto for some recommendations.
However, this is a little tricky to do given the ipkg bug mentioned above. The solution is as follows:
-
Update package information:
ipkg update
-
Upgrade only ipkg and libipkg:
ipkg install ipkg libipkg
-
Remove the packages you wish to remove as normal
fbvncserver not built for iPAQ
The version of fbvncserver in the feeds is designed for Sharp Zaurus handhelds; when used on an iPAQ the display & touchscreen will not be aligned correctly. TheOpie
Sound
Sound now works, but sometimes event sounds still do not get played, or only part of the sound is played.
Missing timezone files
The timezone package installed with Opie (timezones) contains only a few cities (one from each continent) so when the user specifies a location from date/time setup for which there is no timezone info file installed (very likely), GMT will be used, so it would look like that the time is always off by couple of hours. The solution would be to copy the timezone info file from your desktop to the iPAQ.eg. for Vancouver, copy /usr/share/zoneinfo/Canada/Pacific to iPAQ's /usr/share/zoneinfo/America/Vancouver. Don't have these handy? They can be downloaded from http://mail.westmont.edu/pipermail/zoneinfo
e.g. for Vancouver,
cd /usr/share/zoneinfo/America wget http://mail.westmont.edu/pipermail/zoneinfo/America/Vancouver
or install the timezones package for your region:
-
timezones-africa - Timezone for africa
-
timezones-america - Timezone for america
-
timezones-antarctica - Timezone for antarctica
-
timezones-arctic - Timezone for arctic
-
timezones-asia - Timezone for asia
-
timezones-atlantic - Timezone for atlantic
-
timezones-australia - Timezone for australia
-
timezones-europe - Timezone for europe
-
timezones-indian - Timezone for indian
-
timezones-iso3166.tab - Timezone for iso3166.tab
-
timezones-pacific - Timezone for pacific
-
timezones-zone.tab - Timezone for zone.tab
Mediaplayer2 problems
Before installing opie-mediaplayer2 you should install a skin for it:ipkg install opie-mediaplayer2-skin-defaultAlso if it plays sound at double speed, correct the file opiexine.cf:
vi /home/root/Settings/opiexine.cfand uncomment line audio.oss_sync_method:softsync so file will be
misc.memcpy_method:glibc # uncomment if you experience double speed audio audio.oss_sync_method:softsync codec.ffmpeg_pp_quality:3 ...
GPE
General
-
Autologin will always login as root, even if you set the USER and HOME variables. See
GPE 1314
-
Using power/suspend button fails to suspend h55xx, running the command from console (apm -s) works.
-
FIX: edit /etc/gpe/key-layout and change XF86Power to XF86PowerDown and then launch the key and buttons applet to save the setting in your profile.
Known Issues in Familiar v0.8.1
Base system
Note: /root was moved to /home/root to preserve it for people who have /home outside the rootfs (eg. on an SD card). This might break in single-user mode, or at any other time when /home isn't mounted.
h3600: remove unused packages before updating
On older h3600 devices with less memory, it is recommended that you remove some unused packages before doing an ipkg update or you may run out of space. See FamiliarSlimDownHowto for some recommendations.
Sometimes could also help in saving space to add the following line in /etc/ipkg.conf
lists_dir ext /var/listsThis line instructs ipkg to use the /var/lists directory to hold the Packages files, thus saving a lot of space in / filesystem. Those files will be lost when rebooting, as /var is cleared at every reboot, but a simple "ipkg update" will download it again
Alarm Kernel Module(sa1100-rtc) Not Loaded By Default
The Kernel module sa1100-rtc was not loaded by default and that would cause whatever program tries to set up an alarm to freeze. To solve this, run:
modprobe sa1100-rtcTo make a permanent fix:
echo sa1100-rtc > /etc/modutils/rtc update-modulesNow the module will load after a reboot.
ipkg-link won't link files on /media mount points
This is caused by the fact, that the /mnt mount points haven't been changed to /media ones (in the ipkg-link). You can either use /mnt destinations in ipkg.conf or correct the ipkg-link script. To do the last run:
cat /usr/bin/ipkg-link|sed s/mnt/media/>/usr/bin/ipkg-linkNow the old mount points (/mnt) had been updated to /media
New root path not being used
/root has been moved to /home/root, but GPE has not been updated to use the new path. So when you login as root, GPE will complain that it can't find /root/.gpe. This minor problem may be fixed by connecting to the iPAQ via SSH/serial before logging into GPE as root and creating a symlink:
ln -s /home/root /root
As a side note: logging in as root is strongly discouraged, as all root-needing stuff should be possible using a normal user account and the 'root terminal' or 'gpe-su' helper app.
Opie
Missing timezone files
The timezone package installed with Opie contains only a few cities (one from each continent) so when the user specifies a location from date/time setup for which there is no timezone info file installed (very likely), GMT will be used, so it would look like that the time is always off by couple of hours. The solution would be to copy the timezone info file from your desktop to the iPAQ.
eg. for Vancouver, copy /usr/share/zoneinfo/Canada/Pacific to iPAQ's /usr/share/zoneinfo/America/Vancouver.
Don't have these handy? They can be downloaded from http://mail.westmont.edu/pipermail/zoneinfo
e.g. for Vancouver,
cd /usr/share/zoneinfo/America wget http://mail.westmont.edu/pipermail/zoneinfo/America/Vancouver
Can't use ipkg to upgrade to 0.8.1
Because of a bug, libqpe1 has been removed from the 0.8.1 feed. Thus you cannot use ipkg upgrade to upgrade from 0.8.0 to 0.8.1 if you are using Opie - you must reflash instead to upgrade. The actual bug is covered here:
Opie bug #1592).
External keyboards no longer work
External keyboards no longer produce keystrokes with kbdd (see
Opie bug #1569).
Package Manager uses corrupt path
Do an ipkg upgrade to fix this.
Event sounds not working
Event sounds (alarms, key clicks, screen taps etc.) are not working. See
Opie bug 1566. This is most likely due to a change in Qt/E 2.3.10. Media players will work fine, however.
Mediaplayer2 problems
Before installing opie-mediaplayer2 you should install a skin for it:ipkg install opie-mediaplayer2-skin-defaultAlso if it plays sound at double speed, correct the file opiexine.cf:
vi /home/root/Settings/opiexine.cfand uncomment line audio.oss_sync_method:softsync so file will be
misc.memcpy_method:glibc # uncomment if you experience double speed audio audio.oss_sync_method:softsync codec.ffmpeg_pp_quality:3 ...
Known Issues in Familiar v0.8.0
Note: it would be advisable to apply these fixes using a serial or network connection - typing all of this in manually using the on-screen keyboard in Opie/GPE would not be much fun.
However, if the config files for ipkg are edited in a shell, the Opie Package Manager doesn't pick up the added servers. Better to insert those servers through the Package Manager. Similar for WLAN settings.
ipkg update fails (possibly h3900 images only)
The URL for the base feed has a mistake in it, causing "Unknown server error" etc. To fix it:
For the Opie and bootstrap images:
-
Use vi or your favourite editor to edit /etc/ipkg.conf. Change line 24 from this:
src/gz base http:///familiar.handhelds.org/releases/v0.8/baseto this (ie, remove the extra slash):
src/gz base http://familiar.handhelds.org/releases/v0.8/base
For the GPE images:
-
You can fix the URL with the following command:
echo "src/gz base http://familiar.handhelds.org/releases/v0.8/base/" > /etc/ipkg/base-feed.conf
ipkg update doesn't download anything (h3600 Opie image)
Run the following commands:
echo "src/gz base http://familiar.handhelds.org/releases/v0.8/base/" > /etc/ipkg/base-feed.conf echo "src/gz opie http://familiar.handhelds.org/releases/v0.8/opie/" > /etc/ipkg/opie-feed.conf
ipkg fails (kernel.postinst)
Doipkg flag installed kerneland ipkg will stop complaining about the kernel.postinst being broken.
ipkg fails (ppp)
Run the following:
deluser ppp
You will get a warning about not being able to remove from /etc/shadow - that is OK.
The next time ipkg tries this operation it will succeed.
CompactFlash and PCMCIA storage cards not working
Install and load the ide-probe-mod module:ipkg install kernel-module-ide-probe-mod modprobe ide-probe-mod
You should put ide-probe-mod into a file in /etc/modutils and then run update-modules to make this permanent.
Orinoco WLAN cards not working
It seems that the current kernel module for this is broken. You can install older versions and get it working again by running this command:
-
For StrongArm-based machines (h38xx and earlier) - untested
ipkg -nodeps -force-overwrite install http://www.handhelds.org/feeds/2.4.19/orinoco-modules_2.4.19-rmk6-pxa1-hh37_ipaqsa.ipk
-
For PXA-based machines (h39xx and later)
ipkg -nodeps -force-overwrite install http://www.handhelds.org/feeds/2.4.19/orinoco-modules_2.4.19-rmk6-pxa1-hh37_ipaqpxa.ipk
Sound doesn't work on H39xx (not h5xxx)
-
Install the uda1380 kernel module:
ipkg install kernel-module-uda1380
-
Edit /etc/modutils/h3900-uda1380 and replace its contents with the following:
i2c-adap-pxa i2c-algo-pxa h3900-uda1380 uda1380
-
Reboot your iPAQ
MMC/SD card doesn't get recognized on H36xx/38xx
Open a terminal and edit the /etc/fstab file. By default, /mnt/card points to /dev/mmcda1. This is no longer the location of the MMC/SD card. Change /dev/mmcda1 to read /dev/mmc/disc. MMC/SD cards should now mount/unmount properly.
MMC/SD card doesn't get recognized on H39xx (not h5xxx)
-
Open a terminal and do
cd /etc/modutils/
-
Create the file
echo "h3900_asic" > /etc/modutils/h3900_mmc echo "mmc_asic3" >> /etc/modutils/h3900_mmc
-
next do:
update-modules
-
Reboot your ipaq and see it working
-
extra note: If your SD card is vfat formatted, add vfat to /etc/modutils/h3900_mmc as well. vfat doesn't get automagically loaded when trying to mount the SD card.
-
one more note: the current driver does not detect card removal/reinsertion, so when you remove/reinsert the card, you need reload the drivers:
rmmod mmc_asic3 modprobe mmc_asic3
MMC/SD card doesn't get recognized on H5xxx
Open a terminal and dolsmod
Make sure that mmc_h5400, mmc_samsung and mmc_base modules are loaded into the kernel. If they aren't do
modprobe mmc_h5400
Opie doesn't start on boot
The easiest solution to this is to comment out the line that begins with /sbin/getkey in the file /etc/init.d/opie (add a # at the start). Connect your iPAQ to your serial port, allow it to boot (you won't see the Opie screen), start minicom, and wait until you see a login prompt. Then, log in and make the change. Alternatively you can set the console in bootldr to the serial port (ttySA0 on strongarm, ttyS0 on pxa) using the linuxargs setting. An easy way of accomplishing this, is pressing the large Action key while resetting...
Also, a recent opie update had opie-login reporting that "-terminal 2" was no longer a valid option. Solve this by editing /etc/init.d/opie and removing the "-terminal 2" from the opie-login line. To get to terminal 2, insert "chvt 2" as a new line immediately before the opie-login command.
Sound is broken on GPE
Users don't have write access to /dev/sound/*. To fix this, run
chmod a+w /dev/sound/*in a terminal, or more permanently in a boot script.
PPP connection fails ("LCP: timeout sending Config-Requests")
pppd was not set suid root in Familiar 0.8. To fix this run the following on your iPAQ:
chmod +s /usr/sbin/pppd
USB networking
If you wish to use USB networking, make the following changes on the iPAQ:
-
Edit /etc/hotplug/net.agent
-
Change line 29 that reads
add|register)
toadd|register|attach)
-
Add the following before line 125:
detach) exec /sbin/ifdown $INTERFACE ;; -
In file /etc/network/interfaces:
replace line iface usbf inet dhcp with this:
iface usbf inet static
address 192.168.0.202
netmask 255.255.255.0
network 192.168.0.0
gateway 192.168.0.200
Please use different addresses if the above ones clash with ones on your existing network. The "gateway" should match whatever the address is on the desktop end of the usbnet connection. Note that there is still a problem with suspend and resume - you may have to run the following commands on the iPAQ to get usbnet to work again:
ifdown usbf rmmod usb-eth modprobe usb-eth
See UsbNet for information on setting up the desktop side of the connection.
If usbf doesn't reconnect after a resume, you can work around the problem by creating two scripts. The first one in /etc/apm/suspend.d , I called it 99usbdown. its content is:
#!/bin/sh
ifdown usbf
rmmod usb-eth
rmmod sa1100usb_core
exit 0
The other is in /etc/apm/resume.d, I called it 99usbdown (same as above, but it shouldn't matter) its content is:
#!/bin/sh modprobe usb-eth exit 0
Don't forget to do a chmod 755 on each of these scripts or they won't be executed.
DNS: You may optionally install dnsmasq on your desktop machine, which allows your desktop to function as a DNS server. If you do this, on your iPAQ remove the /etc/resolv.conf symlink and do:echo "nameserver 192.168.0.200" > /etc/resolv.confThe IP address should match that which you define on the desktop machine as the address for usb0. Please note, though, that this may mess up other forms of networking. If this is the case, then leave the symlink, and each time you plan to use usb networking, do the echo command above. This will put the nameserver argument into /var/run/resolv.conf, which is a temporary file. It might be easier to make this command into a simple script.
GPE: Rosetta startup time
Running "/usr/bin/rosetta -P" as root fixes the startup time issues with Rosetta.
base: microkbd or stowaway fail to work (h3600 images only)
This is due to the fact that getty is started (and thus blocks /dev/ttySA0) for all runlevels now, instead of 2,3 as in Familiar 0.7.2. The remedy is to edit the last line in /etc/inittab and reboot:
S:23:respawn:/sbin/getty 115200 ttySA0Now you can switch to runlevel 4 using telinit 4 again to read the keyboard input from /dev/microkbd/* or /dev/stowaway.
Bluetooth is not working
This is due to the fact that hcid is not started. To resolve simply upgrade to the version of bluez-utils-dbus in the
unstable feed (warning: it is recommended that you do not use "ipkg upgrade" with the unstable feed - just upgrade the single package).
Apps crashing a lot
change the "5" in /etc/init.d/alignment.sh to 3
Known Issues in Familiar v0.7.2
-
The version of ipkg that comes with 0.7.2 is severely broken. Download ipkg and libipkg ipks from the unstable feed and install them manually (ipkg install filename.ipk).
-
There are several bugs in the 0.7.2 kernel that prevent it from working with H5xxx units. Using the unstable version is recommended.