Tag Archives: iphone

iphone4 and 802.11n

hey folks,

couple of days ago i was wondering why my new access point was so lame (transmitting some big files through wifi). so i’ve decided to tweak it a little bit up and use the 5ghz band. it was really a improvement for large file transmissions, because my environment here is full of disturbers. but, i was really pissed-off as i noticed that my iphone was unable to connect to my network anymore. yeah, iphones are 802.11n ready, but only with 2.4ghz 🙁

here i have some links for you …

iphone 4 has 802.11n, but not the “awesome” 802.11n
which is better: 802.11n 2.4 ghz or 5 ghz?
802.11n 2.4 ghz vs. 5 ghz

finally – tethering with usb

hey folks!

after a lot of unsuccessful tries finally there is a solution! if you want to connect your ubuntu with a iphone 3gs to the internet look at this site!

but here a short overview:

  • add following repository: “add-apt-repository ppa:pmcenery/ppa”
  • run “apt-get update”
  • install following packages: “gvfs ipheth-utils”

that should be enough, so you can plug your activated iphone to the usb and your network-manager will show you a new wired network interface.

so, happy surfing with your iphone 😉

iphone upgrade with vmware under ubuntu

as you have read on this page before, it is possible to upgrade an iphone under ubuntu with vmware. BUT, as i’ve read on this page, it is easier as you think! here is my actually setup …

  • iPhone 3G 8Gb
  • ubuntu 9.10 (karmic) on lenovo t61p, kernel 2.6.31-19-generic
  • vmware workstation 6.5.3 build-185404
  • guest: winxp professional sp3 with itunes

what has to be done?

1. create a file /etc/modprobe.d/blacklist-usb.conf

2. add usb modules not to be loaded into that file

blacklist snd_usb_audio
blacklist usbhid

3. reload kernel event manager for the changes to take effect

reload udev

4. restart vmware and make sure you also restart windows in vmware

5. now start iphone software update in itunes

6. after update is complete, you can remove the blacklist file and restart kernel event manager again

note that during firmware update iphone might get disconnected – just connect it again using vmware removable devices menu.

wish you happy upgrading!!!

iphone application programming – videos

here you gonna get this …

Tools and APIs required to build applications for the iPhone platform using the iPhone SDK. User interface designs for mobile devices and unique user interactions using multitouch technologies. Object-oriented design using model-view-controller pattern, memory management, Objective-C programming language. iPhone APIs and tools including Xcode, Interface Builder and Instruments on Mac OS X. Other topics include: core animation, bonjour networking, mobile device power management and performance considerations.

Prerequisites: C language and programming experience at the level of 106B or X. Recommended: UNIX, object-oriented programming, graphical toolkits

Offered by Stanford’s School of Engineering, the course will last ten weeks and include both the lecture videos and PDF documents. A new lecture will be posted each Wednesday and Friday.  Subscribe to this course, and automatically receive new lectures as they become available.

itunes on linux with wine

hi folks!

i’m a little bit angry. angry about proprietary software. especially products you need for your hardware, which were not cheap. i’m talking about my iphone and the software is, yeah you know it already, itunes. i’m not willing to be forced to buy a proprietary operating system for a free tool (itunes) i need to communicate with the purchased hardware (iphone). so i’ve decided to try my best with wine. i’ve heard that wine has solved its teething troubles and it’s now ready for the big world. hehe, you wish … but here the whole story and all my steps to my spoilage:

first i’ve tried the easy way, installing wine from the repository. so i wrote this to my sources.list:

  • deb http://wine.budgetdedicated.com/apt intrepid main

now a simple “apt-get install wine” was everything i need to start up. “download the newest itunes and install it”, was my next thought. but hey, that would be to simple. and for true, “wine iTunesSetup.exe” went completely wrong. the installation process didn’t even really start, and i got the message “the installer encountered errors before itunes could be configured”!?

so it was necessary to gain on some useful informations. this howto [1] helped me to find older versions of itunes. on oldapps [2] i tried some of them. till to the version 7.7.1 i had no success. but this version has no remote function for the iphone, and my first intention was not fulfilled. back to the start.

so i searched at the winehq homepage for more hints, and i found a patch for the current wine version [3,4]. this patch should permit the installation of the newest itunes. after downloading the sources of wine [5], applying the patch and installing all development packages for compiling [6] i’ve started the compiler … i was curious, really expecting the best. but everything turned out differently. it was really odd, the installation process finished successfully, but after executing itunes for the first time – surprise, surprise – there were no icons!!! no play-icon/button, no small icons at the left sidebar, no buttons, nothing. so i tried to change the configuration of direct3D (winecfg), but nothing happened – again no icons appeared!

i’m gutted … 😡 … welcome back, dear vmware!

[1] mini howto – itunes on ubuntu
[2] oldapps
[3] itunes8 on winehq
[4] itunes8.1 on winehq
[5] github wine
[6] building 32-bit wine on a 64-bit system – the easy way

access pictures on my meschiphone over usb

hi folks!

i have had a little bit of time today, so i was experimenting with my iphone. i wanted to gain access to the pictures on it without jailbraking [1]. and, clear and brief, it works! here are the necessary steps [2,3] on a ubuntu system …

  • install libplist [4]
      getting the sources:
        git clone git://github.com/JonathanBeck/libplist.git
      installing necessary packages (on ubuntu/debian systems):
        apt-get install build-essential cmake libglib2.0-dev libxml2-dev \
                        python-dev swig
      to compile run:
        mkdir build
        cd build
        cmake ..
        make && make install
      linking the libplist:
        cd /usr/lib
        ln -s /usr/local/lib/libplist.so.0.0.10 .
        ln -s libplist.so.0.0.10 libplist.so.0
        ln -s libplist.so.0 libplist.so
  • install libiphone (first the old one [3], and then the new one [2,5])
      getting the sources of the old version (necessary for libiphone-initconf):
        git clone http://git.matt.colyer.name/2008/libiphone/
      installing necessary packages (on ubuntu/debian systems):
        apt-get install build-essential automake autoconf libtool libgnutls-dev \
                        libusb-dev libfuse-dev libglib2.0-dev libxml2-dev \
      to compile run:
        make && make install
      and now everything again with the new version (its the simpliest way):
        git clone git://github.com/MattColyer/libiphone.git
  • install ifuse [6]
      getting the sources:
        git clone git://github.com/MattColyer/ifuse.git
      installing necessary packages (on ubuntu/debian systems):
        apt-get install build-essential automake autoconf \
                        libfuse-dev libglib2.0-dev
      to compile run:
        make && make install
  • start libiphone-initconf [2,3]
      run their utility to generate keys for iphone communication as the user
      you want to connect later:
  • mount the iphone [2,3]
      mount the iphone’s root filesystem including the media partition:
        mount.fuse.ifuse -afc2 none /media/iPhone
      or mount the iphone’s media partition only:
        mount.fuse.ifuse none /media/iPhone

if you want it in a automatic way, do the following:

  • edit /etc/fstab
      add following line:
        none /media/iPhone fuse.mount.fuse.ifuse rw,nosuid,nodev,afc2,allow_other 0 0
  • edit /etc/hal/fdi/preprobe/10-iphone.fdi
      write those lines into the file:
      <?xml version="1.0" encoding="UTF-8"?>
      <deviceinfo version="0.2">
          <match key="usb.vendor_id" int="05ac">
            <match key="usb.product_id" int="1292">
              <merge key="info.ignore" type="bool">true</merge>

after those steps its very easy: plugin the usb-cable and for example nautilus will show you a “Apple, Inc. iPhone” device. if you want to see all the information i used to setup everything right, here are some links:

[1] ifuse main page
[2] easy installing
[3] older references
[4] github libplist
[5] github libiphone
[6] github ifuse

my new iphone, no brick anymore


i made it … upgrading the iphone out of a vmware win-xp guest system works.

  • my host machine: Linux meschmobile 2.6.27-9-generic #1 SMP Thu Nov 20 22:15:32 UTC 2008 x86_64 GNU/Linux; Ubuntu 8.10
  • the vmware:  VMware® Workstation 6.5.1 build-126130
  • the guest machine: Win XP SP3

now, how it works: start the upgrade process out of the itunes. the first initial process works out of the box, but after the first longer progress bar at itunes, you will see that your iphone gets also a progress bar. this is the time you maybe see some popup’s at your host-system with following error: “Unable to mount Apple, Inc. iPhone Error initializing camera: -1: Unspecified error”

now hurry up and start a console. if you look after your loaded modules, you will see, that there are a lot more usbmodules than before. type following two commandos as root (or use sudo):

rmmod usbhid snd_usb_audio

rmmod snd_usb_lib

back to the vmware, and “reconnect” the phone. you won’t see a usb-symbol anymore, its now a loudspeaker-symbol! Disconnect it – and afterwards connect it immediately! Haven’t tried to plug in and out the usb-cable… think, it would be the same (but caution, the host system could reinitiate the usb-modules again).

after a couple of seconds, the iphone starts the upgrade … and the progress bar rises up!!! 😎