This is a DiscontinuedProject. It has been finished and is in a stable state now. Currently, no effort is made for further work here. This page documents my efforts to get my new notebook ("new" as of April 2009) work as much as possible together with FreeBSD 9-CURRENT. Please note that some of the working features here did not work too well under 8-CURRENT shortly before 9 was branched off - have a look at the page history for details, if you want. By now, the computer is very well usable for just about all of my computing requirements, and for all mobile needs indeed.
Contents
GSM/GPRS/UMTS modem
The built-in Ericsson F3507g Mobile Broadband Minicard Composite Device is supported by the umodem(4) driver. ppp.conf snippet for Vodafone WebSessions (Replace <PIN> with the SIM card's PIN.)
It is also supported by the cdce(4) driver which provides the Ethernet interface ue0 here. This can be used by first powering up the modem, providing PIN and configuration, and then just starting DHCP on ue0:
CHAT=/usr/bin/chat
CTLDEV=/dev/cuaU0
ETHDEV=ue0
PIN="<PIN>"
echo -n "PIN..."
${CHAT} -t 3 "" "AT+CPIN?" "SIM PIN" "AT" "OK" "AT+CPIN=\"$PIN\"" "OK" > $CTLDEV < $CTLDEV
echo -n " power..."
${CHAT} -t 45 "" "AT+CPIN?" "READY" "AT+CFUN=1" "+PACSP0" "AT" "OK" > $CTLDEV < $CTLDEV
echo -n " connection..."
${CHAT} -t 5 "" 'AT+CGDCONT=1,"IP","event.vodafone.de"' "OK" > $CTLDEV < $CTLDEV
${CHAT} -t 5 "" 'AT*ENAP=1,1' "OK" > $CTLDEV < $CTLDEV
echo -n " DHCP..."
dhclient ${ETHDEV} > /dev/null 2>&1
echo " done."
My chat scripts hang when started the first time after notebook power-on, and seem not to actually enable the device. Starting a second time works then. I have not yet investigated this.
GPS
Supported by the umodem driver, just as the GSM/GPRS/UMTS modem. Script for easy handling
astro/gpsd is helpful.
However, the umodem(4) driver seems somewhat attracted by the third serial USB device of this interface (which is called GPS something in its device descriptor), but fails to attach:
umodem0: <Ericsson F3507g Mobile Broadband Minicard Modem> on usbus7 umodem0: data interface 2, has CM over data, has break umodem1: <Ericsson F3507g Mobile Broadband Minicard Data Modem> on usbus7 umodem1: data interface 4, has CM over data, has break cdce0: <Ericsson F3507g Mobile Broadband Minicard Network Adapter> on usbus7 ue0: <USB Ethernet> on cdce0 ue0: Ethernet address: 02:80:37:ec:02:00 umodem2: <Ericsson F3507g Mobile Broadband Minicard GPS Port> on usbus7 umodem2: data interface 12, has CM over data, has break umodem2: no data interface! device_attach: umodem2 attach returned 6
Bluetooth
Is supported as a ng_ubt(4) device. I have written a small program that can be installed setuid root to turn the Bluetooth interface on and off without needing to be root. Source. It needs acpi_ibm(4), however.
Sound
The 82801IB/IR/IH (ICH9 Family) HD Audio Controller is supported by snd_hda(4).
Useful entry for /boot/device.hints:
hint.hdac.0.cad0.nid22.config="as=1 seq=15 device=Headphones" hint.hdac.0.cad0.nid26.config="as=1 seq=0 device=Speaker" hint.hdac.0.cad0.nid24.config="as=2 seq=15" hint.hdac.0.cad0.nid29.config="as=2 seq=0"
Keyboard
Needs some ports...:
sysutils/lineak-defaultplugin sysutils/lineak-xosdplugin sysutils/lineakd
One system-wide key definition file: /usr/local/etc/lineakkb.def, and a configuration file mapping keys to functions like this one in $HOME/.lineak/lineakd.conf. Then, start lineakd on X startup, e.g. in .xinitrc.
The special (Fn+...) keys can be used to generate events evaluated by devd(8), when acpi_ibm(4) is loaded and dev.acpi_ibm.0.events set to 1. The respective part of /etc/sysctl.conf for me:
dev.acpi_ibm.0.eventmask=7340052 # configure events for acpi_ibm(4) dev.acpi_ibm.0.events=1 # turn on ACPI event reporting to devd
Xorg
I have disabled the ATI graphics card, and turned on the intel interface only. This is my Xorg config.
Acceleration sensor
I have found a source package thinkpad_ec-030_04092006.tgz on the web, which seems similar to what can be found on http://hdaps.sourceforge.net/. I have disabled the magic in hdaps_check_ec() because this made the driver fail to attach - and with this change, the accelerometer works under 8-current as of 22. May 2009:
thinkpad_ec0: <IBM ThinkPad Embedded Controller -[7VHT12WW-1.01 ]-> port 0x1600-0x161f on acpi0 thinkpad_ec0: thinkpad_ec 0.30-FreeBSD loaded. hdaps: initial mode latch is 0x05 hdaps: setting ec_rate=250, filter_order=2 hdaps: fake_data_mode set to 0 hdaps: device successfully initialized. hdaps0: <Accelerometer> on thinkpad_ec0 hdaps: driver successfully loaded.
The hdapsmonitor tool, also in the tarball, shows nice graphs when the Thinkpad is moved. However, using games/neverball is a bit weird: The direction information comes out of the joystick device inversed. I have not yet investigated that.
WLAN
Supported by iwn(4) in 9-CURRENT per UPDATING entry 20091025. Seems to work for the Intel PRO/Wireless 5300 interface in my ThinkPad.
Fingerprint sensor
Not yet supported under any free OS, it seems.
some output
THIS DATA IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DATA, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
All product and brand names mentioned on there pages and in the source code are registered names and/or trademarks of the respective owner and are mentioned for identification purposes only.
For a full copyright notice, please see this link. For imprint and contact information, please see http://www.thiemo.net/.