When flashing succeeds (in any of the above cases) the following should be shown:

When flashing succeeds (in any of the above cases) the following should be shown:

Line 40:

Line 49:

If somebody has a solution for this problem please contact me. - [[User: Anakron|Anakron]]}}

If somebody has a solution for this problem please contact me. - [[User: Anakron|Anakron]]}}

−

−

== Beginners Guide to Flashing Interfaces to the Neo Freerunner ==

== Beginners Guide to Flashing Interfaces to the Neo Freerunner ==

Line 61:

Line 68:

== USB Serial ==

== USB Serial ==

−

It is possible to access the U-Boot [[Bootloader]] serial console from a Mac. You can use the Terminal application on Mac OS X, or <tt>minicom</tt> from [http://finkproject.org/ Fink] or [http://www.macports.org/ MacPorts] (formerly Darwin Ports.)

+

It is possible to access the [[U-Boot]] [[bootloader]] serial console from a Mac. You can use the Terminal application on Mac OS X, or <tt>minicom</tt> from [http://finkproject.org/ Fink] or [http://www.macports.org/ MacPorts] (formerly Darwin Ports.)

The USB driver creates cu and tty character devices, for example

The USB driver creates cu and tty character devices, for example

Line 73:

Line 80:

The <code>GNU screen</code> program is included with Mac OS X, and can be used from the terminal command line to connect to the serial console. To do this, simply get to a shell prompt in the terminal and invoke <code>screen</code> as follows:

The <code>GNU screen</code> program is included with Mac OS X, and can be used from the terminal command line to connect to the serial console. To do this, simply get to a shell prompt in the terminal and invoke <code>screen</code> as follows:

The <tt>minicom</tt> program from the [http://www.macports.org/ MacPorts] collection can be used to access the USB serial port <tt>/dev/cu.usbmodem00000001</tt> (numbering may vary.)

+

The <tt>minicom</tt> program from the [http://www.macports.org/ MacPorts] collection can be used to access the USB serial port <tt>/dev/cu.usbmodem0000001</tt> (numbering may vary.)

First install the program (assuming you already have MacPorts installed):

First install the program (assuming you already have MacPorts installed):

Line 91:

Line 98:

sudo minicom -s

sudo minicom -s

−

Under "Serial Port Setup", set the Device to "/dev/cu.usbmodem00000001" and set Bps to "115200 8N1". Under "Modem and Dialing", enter empty strings for "Init string", "Reset string", and "Hang-up string". Save the setup as default ("dfl") then Exit.

+

Under "Serial Port Setup", set the Device to "/dev/cu.usbmodem0000001" and set Bps to "115200 8N1". Under "Modem and Dialing", enter empty strings for "Init string", "Reset string", and "Hang-up string". Save the setup as default ("dfl") then Exit.

−

You should now be able to access the bootloader console. You should exit from Minicom before disconnecting the smartphone, or else you will get an error about unplugging a USB device while it is in use.

+

You should now be able to access the U-Boot console. You should exit from Minicom before disconnecting the smartphone, or else you will get an error about unplugging a USB device while it is in use.

=== USB Serial with Terminal ===

=== USB Serial with Terminal ===

−

The built in Mac Terminal application <tt>Terminal.app</tt> can be used to access the USB serial port <tt>/dev/tty.usbmodem00000001</tt> (numbering may vary.)

+

The built in Mac Terminal application <tt>Terminal.app</tt> can be used to access the USB serial port <tt>/dev/tty.usbmodem0000001</tt> (numbering may vary.)

An easy way to do this is to configure the terminal with Script Editor, as described in the short article, [http://www.macosxhints.com/article.php?story=20061109133825654 ''Use '(GNU) screen' as a serial terminal emulator''](macosxhints.com). Then,

An easy way to do this is to configure the terminal with Script Editor, as described in the short article, [http://www.macosxhints.com/article.php?story=20061109133825654 ''Use '(GNU) screen' as a serial terminal emulator''](macosxhints.com). Then,

Line 114:

Line 121:

== USB Networking ==

== USB Networking ==

−

There are several drivers you can use to talk to the RNDIS/Ethernet Gadget that the Neo1973 presents to its host system. The main difference between them is stability, and all have their own problems. Leopard needs further testing (Apple revised the driver and the Network System Settings).

+

There are several drivers you can use to talk to the RNDIS/Ethernet Gadget that the Linux kernel presents when connected as a USB client.

+

+

=== AJZaurusUSB driver ===

+

+

You can use the open source driver from [http://projects.goldelico.com/p/AJZaurusUSB]. It was originally developed for handheld devices like iPAQ, Sharp Zaurus and Motorola A760, but works for Openmoko as well. Download and install according to the manual found inside the package. The code is GPL'd (source available) and runs on both Intel and PPC Macs with 10.4 to 10.6.

+

+

After rebooting or loading the kernel extension by hand, you should have a new Ethernet interface in your System Preferences/Network.

+

+

<b>Note</b>: This driver does not have the same problem as the Apple driver does, where it constantly adds to the list of interfaces each time you reboot the Openmoko, because the driver provides a constant Ethernet address independently what the Openmoko says. Only flashing a new kernel version might force you to update.

=== Apple CDC Ethernet driver 10.4.10 ===

=== Apple CDC Ethernet driver 10.4.10 ===

Line 121:

Line 136:

<b>Issue</b>: Each time you reboot the Neo, the interface will get a different Ethernet address. This in turn makes Mac OS X create a new configuration record. After a while you'll end up with a load of unusable enXX devices - if you don't periodically clean them out. Open System Preferences and go to Network -> Show(Network Port Configurations) -> Select an enXX -> Delete.

<b>Issue</b>: Each time you reboot the Neo, the interface will get a different Ethernet address. This in turn makes Mac OS X create a new configuration record. After a while you'll end up with a load of unusable enXX devices - if you don't periodically clean them out. Open System Preferences and go to Network -> Show(Network Port Configurations) -> Select an enXX -> Delete.

−

<b>Note</b>: this is not a problem to blame MacOSX for because it tries to make network configuration simpler based on the assumption of stable Ethernet addresses.

+

<b>Note</b>: this is not a problem to blame Mac OS X for, because it tries to simplify network configuration based on the assumption of <b>stable</b> Ethernet addresses.

You can also use the open source driver from [http://www.dsitri.de/wiki.php?page=AJZaurusUSB]. It was developed for handheld devices like iPAQ, Sharp Zaurus and Motorola A760, but works for Openmoko as well. Download and install according to the manual found inside the package. The code is GPL'd (source available) and runs on both Intel and PPC Macs with 10.3, 10.4 and 10.5. Recent tests with 10.6 have shown that the latest release 0.5.3 also works there.

−

−

After rebooting or loading the kernel extension by hand, you should have a new Ethernet interface in your System Preferences/Network.

−

−

<b>Note</b>: This driver does not have the same problem as the Apple driver does, where it constantly adds to the list of interfaces each time you reboot the neo, because the driver provides a constant ethernet address independently what the Neo says. Only flashing a new kernel might force you to update.

−

−

<b>Issue</b>: This driver is sometimes a bit flaky, and a reboot of the Mac seems to bring it back. It is especially critical about hot unplugging the OM and sleep modes of MacBooks. This may even result in a Kernel Panic.

=== Network Settings ===

=== Network Settings ===

Open System Preferences and go to Network and you should see "new interface detected enXX". In the Show list box select the new interface - Ethernet Adapter enXX.

Open System Preferences and go to Network and you should see "new interface detected enXX". In the Show list box select the new interface - Ethernet Adapter enXX.

−

Use this configuration on the new interface:

+

Use this configuration on the new interface with SHR-CORE images after 110822:

+

<pre>

+

IP-V4: manual

+

IP-Addr: 192.168.7.2 (you can use anything in 192.168.7.* but OM is configured by default to use 192.168.7.2 as the external gateway)

+

Subnet: 255.255.255.0 (should be the default - see tip below if have issue with these settings)

+

Router: 192.168.7.1 (not actually needed, OS X can figure this out for itself, unless you have other conflicting configurations)

+

</pre>

+

+

Use this configuration on the new interface with SHR images before 110822:

<pre>

<pre>

IP-V4: manual

IP-V4: manual

Line 166:

Line 179:

=== Testing Your Connection ===

=== Testing Your Connection ===

−

You should be able to connect to your Neo! Try using Terminal (Applications->Utilities->Terminal) to ping the Neo at 192.168.0.202 and the roundtrip time should be between 1 and 2 ms.

+

You should be able to connect to your Openmoko! Try using Terminal (Applications->Utilities->Terminal) to ping the Neo at 192.168.0.202 and the roundtrip time should be between 1 and 2 ms.

−

ping 192.168.0.202

+

ping 192.168.7.2 # SHR-CORE images after 110822

+

ping 192.168.0.202 # SHR images before 110822

−

Then log into your Neo using ssh:

+

Then log into your Openmoko using ssh:

−

ssh root@192.168.0.202

+

ssh root@192.168.7.2 # SHR-CORE images after 110822

−

The default password is blank.

+

ssh root@192.168.0.202 # SHR images before 110822

+

The default password is blank (depending on the distribution you have on the Openmoko).

You can also [[scp]] files back and forth or share displays with X11. Additional software and configuration could allow telnet, SMB, or many other possibilities using the TCP/IP network over your USB connection.

You can also [[scp]] files back and forth or share displays with X11. Additional software and configuration could allow telnet, SMB, or many other possibilities using the TCP/IP network over your USB connection.

−

Try pinging your Mac PC from the Neo

+

Try pinging your Mac PC from the Openmoko

−

ping 192.168.0.200

+

ping 192.168.7.1 # SHR-CORE images after 110822

+

ping 192.168.0.200 # SHR images before 110822

Try pinging the outside world (a Google IP address)

Try pinging the outside world (a Google IP address)

Line 182:

Line 198:

If that works then your Mac is routing the neo globally--if not see [[MacOS_X#Enabling_the_Mac_as_an_Internet_Router | Sharing Internet Connection with Mac]].

If that works then your Mac is routing the neo globally--if not see [[MacOS_X#Enabling_the_Mac_as_an_Internet_Router | Sharing Internet Connection with Mac]].

−

Lastly, verify that DNS is correctly configured between the Neo & Network:

+

Lastly, verify that DNS is correctly configured between the Openmoko & Network:

ping www.google.com

ping www.google.com

If that doesn't work then see [[USB_Networking#Configure_Default_Neo_DNS | Configuring Default Neo DNS]] to try and resolve the issue.

If that doesn't work then see [[USB_Networking#Configure_Default_Neo_DNS | Configuring Default Neo DNS]] to try and resolve the issue.

−

Congordulations Elizagreth!!! The Neo is networked together with the Mac and sharing the Mac's interweb connection.

+

Congratulations!!! The Neo is networked together with the Mac and sharing the Mac's interweb connection.

== Bluetooth Networking ==

== Bluetooth Networking ==

Line 393:

Line 409:

[[Category:Flashing Openmoko]]

[[Category:Flashing Openmoko]]

[[Category:Host OSes]]

[[Category:Host OSes]]

+

+

[http://www.mac-how.net/ Mac How] for discussion questions about Mac

Latest revision as of 17:29, 13 February 2012

Being primarily a Linux based project, the host platform of choice is Linux. However, it is entirely possible to work with Openmoko and Neo handsets using MacOS X, as you'll soon see.

There are actually two ways of working with Openmoko and MacOS X. One is simply to run a virtual machine in which case you would then follow the instructions for Linux.

On the other hand, if you wish to use MacOS X directly, please continue:

When flashing succeeds (in any of the above cases) the following should be shown:

status(0) = No error condition is present
Done!

NOTE: If you get an error: Cannot set alternate interface: usb_set_altinterface: could not set alternate interface. You have to unplug and replug it again. Make sure it stays in the Boot menu during that! After you have replugged your openmoko you should see DFU: Switching to DFU Mode on the openmoko screen. Now you can execute the command again and this time it should work.

If somebody has a solution for this problem please contact me. - Anakron

Now open the openmoko flasher and enter the URL for the repository of the desired interface. Next to where you entered the URL, you must click the drop down menu and choose Root File System. At the bottom of the flasher program click refresh. The Root File system file show appear. Once it appears, click Load and it will be loaded into the openmoko flasher.

Now, with your Freerunner unplugged hold the AUX button while holding the power button (for about 5 seconds) until the BOOT menu appears. Now connect the Freerunner to your computer and click Flash. You may have to disconnect and reconnect the phone a few times until to goes into DFU mode. Once it is in DFU mode, flashing will work.

Once the flashing is successful, the Freerunner will shut down. Now press the power button while holding the AUX button for 7-10 seconds until the NAND BOOT menu appears. From here, select Boot and you phone should boot to the new interface. (The AUX/Power button combination puts the phone into the NOR BOOT menu, which must be used for flashing. The Power/AUX button combination puts the phone into the NAND BOOT menu, which is usually used for booting after a flash. After the phone is booted once from the NAND menu, it can be booted normally in the future.)

Most of the time, only the rootfs has to be flashed in order for the interface to work, but sometimes the kernel has to be flashed along with the rootfs. In this case, before you flash the rootfs you should select kernel in the drop down menu on the openmoko flasher and follow the same directions.

The GNU screen program is included with Mac OS X, and can be used from the terminal command line to connect to the serial console. To do this, simply get to a shell prompt in the terminal and invoke screen as follows:

% screen /dev/tty.usbmodem0000001

You should find yourself at the U-boot serial console prompt. To get out, type control+a followed by control+backslash.

The minicom program from the MacPorts collection can be used to access the USB serial port /dev/cu.usbmodem0000001 (numbering may vary.)

First install the program (assuming you already have MacPorts installed):

sudo port install minicom

Then launch it in configuration mode (the -s flag):

sudo minicom -s

Under "Serial Port Setup", set the Device to "/dev/cu.usbmodem0000001" and set Bps to "115200 8N1". Under "Modem and Dialing", enter empty strings for "Init string", "Reset string", and "Hang-up string". Save the setup as default ("dfl") then Exit.

You should now be able to access the U-Boot console. You should exit from Minicom before disconnecting the smartphone, or else you will get an error about unplugging a USB device while it is in use.

When you boot Linux on the smartphone, or if the smartphone powers down, Mac OS X will show a USB Device Unplug Notice, "The USB device has been unplugged while an application was still active. This can result in loss of data." This error is probably harmless.

You can use the open source driver from [1]. It was originally developed for handheld devices like iPAQ, Sharp Zaurus and Motorola A760, but works for Openmoko as well. Download and install according to the manual found inside the package. The code is GPL'd (source available) and runs on both Intel and PPC Macs with 10.4 to 10.6.

After rebooting or loading the kernel extension by hand, you should have a new Ethernet interface in your System Preferences/Network.

Note: This driver does not have the same problem as the Apple driver does, where it constantly adds to the list of interfaces each time you reboot the Openmoko, because the driver provides a constant Ethernet address independently what the Openmoko says. Only flashing a new kernel version might force you to update.

MacOS X 10.4.10 and later includes a driver for RNDIS/Ethernet Gadget devices. Launch System Preferences -> Network and you should see "new interface detected enXX".

Issue: Each time you reboot the Neo, the interface will get a different Ethernet address. This in turn makes Mac OS X create a new configuration record. After a while you'll end up with a load of unusable enXX devices - if you don't periodically clean them out. Open System Preferences and go to Network -> Show(Network Port Configurations) -> Select an enXX -> Delete.

Note: this is not a problem to blame Mac OS X for, because it tries to simplify network configuration based on the assumption of stable Ethernet addresses.

Issue:10.5 (Leopard) doesn't show a new ethernet interface for a Neo1973 running 2007.11. You'll only get the serial port, which is detected as a modem. The Ethernet device will show up in ifconfig though. If it doesn't, try the other driver below.

The issue of multiple network interfaces showing up whenever the Neo is rebooted/power-cycled is due to the g_ether driver randomly setting the host and device mac addresses. This problem is remedied by passing the same host and device mac addresses during the modprobe of g_ether. [Not needed with MacOS X.5.7 and Openmoko 2009 16-june-2009. Simply reboot the Mac (again) and Openmoko appear again without changing network settings --Glenn 08:30, 17 June 2009 (UTC)]

Open System Preferences and go to Network and you should see "new interface detected enXX". In the Show list box select the new interface - Ethernet Adapter enXX.

Use this configuration on the new interface with SHR-CORE images after 110822:

IP-V4: manual
IP-Addr: 192.168.7.2 (you can use anything in 192.168.7.* but OM is configured by default to use 192.168.7.2 as the external gateway)
Subnet: 255.255.255.0 (should be the default - see tip below if have issue with these settings)
Router: 192.168.7.1 (not actually needed, OS X can figure this out for itself, unless you have other conflicting configurations)

Use this configuration on the new interface with SHR images before 110822:

IP-V4: manual
IP-Addr: 192.168.0.200 (you can use anything in 192.168.0.* but OM is configured by default to use 192.168.0.200 as the external gateway)
Subnet: 255.255.255.0 (should be the default - see tip below if have issue with these settings)
Router: 192.168.0.202 (not actually needed, OS X can figure this out for itself, unless you have other conflicting configurations)

Tip: If your Internet connection is also in the range 192.168.0.x then instead you might want/need to use:

Subnet: 255.255.255.248

However if you are running Leopard it may not let you set the subnet claiming that the IP 192.168.0.200 is an invalid address for that subnet. To get round this run the following from the OSX terminal (replacing en11 as appropriate):

The default password is blank (depending on the distribution you have on the Openmoko).

You can also scp files back and forth or share displays with X11. Additional software and configuration could allow telnet, SMB, or many other possibilities using the TCP/IP network over your USB connection.

Here you see the 172.16.140.14 address, which makes it possible not to use natd, since it's in the same network as the Mac is. So the firewall knows where to sent it to -- no routing problems etc. Pick any free address in your private range. For instance, if you are using the following ... firewall: 192.168.1.1, Mac: 192.168.1.2, you can enter 192.168.1.3, assuming it's not used elsewhere on your network.

If you want to be sure you did it right, open the system.log file on the Mac (tail -f /var/log/system.log), and you should see something like this:

Don't bother with Parallels Desktop for Mac (<=3), the current USB support is terrible and USB storage keys don't even work so there was no way I would try dfu-util. USB keys work under VMWare Fusion for Mac though I have yet to try dfu-util in an VM under VMWare Fusion as there is Openmoko Flasher for Mac. -- Eric

There is currently no vmplayer for OS X. But the Qtopia image (see Developing_with_C++_and_Qt#Use_pre-built_SDK) will work with VMware fusion. The script will search for vmplayer and complain. Just answer YES when asked if you have the vmplayer installed (I know, it's a lie, but...), and the script will run through. Afterwards open the directory where the files were installed and click on Qtopia.vmx.

In VMware Fusion USB Networking is working properly, just plug in the device and connect it to your virtual machine.

Unfortunately dfu-util is currently not working. In fact if you get dfu-util working via unplug/replug method on Mac OS X it works inside VMware too.

When flashing succeeds (in any of the above cases) the following should be shown:

status(0) = No error condition is present
Done!

NOTE: If you get an error: Cannot set alternate interface: usb_set_altinterface: could not set alternate interface. You have to unplug and replug it again. Make sure it stays in the Boot menu during that! After you have replugged your openmoko you should see DFU: Switching to DFU Mode on the openmoko screen. Now you can execute the command again and this time it should work.

If somebody has a solution for this problem please contact me. - Anakron

Beginners Guide to Flashing Interfaces to the Neo Freerunner

In this guide I will be going over the steps to flash an interface onto the Freerunner.

Now open the openmoko flasher and enter the URL for the repository of the desired interface. Next to where you entered the URL, you must click the drop down menu and choose Root File System. At the bottom of the flasher program click refresh. The Root File system file show appear. Once it appears, click Load and it will be loaded into the openmoko flasher.

Now, with your Freerunner unplugged hold the AUX button while holding the power button (for about 5 seconds) until the BOOT menu appears. Now connect the Freerunner to your computer and click Flash. You may have to disconnect and reconnect the phone a few times until to goes into DFU mode. Once it is in DFU mode, flashing will work.

Once the flashing is successful, the Freerunner will shut down. Now press the power button while holding the AUX button for 7-10 seconds until the NAND BOOT menu appears. From here, select Boot and you phone should boot to the new interface. (The AUX/Power button combination puts the phone into the NOR BOOT menu, which must be used for flashing. The Power/AUX button combination puts the phone into the NAND BOOT menu, which is usually used for booting after a flash. After the phone is booted once from the NAND menu, it can be booted normally in the future.)

Most of the time, only the rootfs has to be flashed in order for the interface to work, but sometimes the kernel has to be flashed along with the rootfs. In this case, before you flash the rootfs you should select kernel in the drop down menu on the openmoko flasher and follow the same directions.

Compiling dfu-util

Alternatively, you can compile dfu-util manually as described at User:SNMoore but you need libusb (e.g. through MacPorts).

Connecting a Mac and an Openmoko device

USB Serial

It is possible to access the U-Boot Bootloader serial console from a Mac. You can use the Terminal application on Mac OS X, or minicom from Fink or MacPorts (formerly Darwin Ports.)

USB Serial with screen

The GNU screen program is included with Mac OS X, and can be used from the terminal command line to connect to the serial console. To do this, simply get to a shell prompt in the terminal and invoke screen as follows:

% screen /dev/tty.usbmodem00000001

You should find yourself at the U-boot serial console prompt. To get out, type control+a followed by control+backslash.

USB Serial with minicom

The minicom program from the MacPorts collection can be used to access the USB serial port /dev/cu.usbmodem00000001 (numbering may vary.)

First install the program (assuming you already have MacPorts installed):

sudo port install minicom

Then launch it in configuration mode (the -s flag):

sudo minicom -s

Under "Serial Port Setup", set the Device to "/dev/cu.usbmodem00000001" and set Bps to "115200 8N1". Under "Modem and Dialing", enter empty strings for "Init string", "Reset string", and "Hang-up string". Save the setup as default ("dfl") then Exit.

You should now be able to access the bootloader console. You should exit from Minicom before disconnecting the smartphone, or else you will get an error about unplugging a USB device while it is in use.

USB Serial with Terminal

The built in Mac Terminal application Terminal.app can be used to access the USB serial port /dev/tty.usbmodem00000001 (numbering may vary.)

When you boot Linux on the smartphone, or if the smartphone powers down, Mac OS X will show a USB Device Unplug Notice, "The USB device has been unplugged while an application was still active. This can result in loss of data." This error is probably harmless.

USB Networking

There are several drivers you can use to talk to the RNDIS/Ethernet Gadget that the Neo1973 presents to its host system. The main difference between them is stability, and all have their own problems. Leopard needs further testing (Apple revised the driver and the Network System Settings).

Apple CDC Ethernet driver 10.4.10

MacOS X 10.4.10 and later includes a driver for RNDIS/Ethernet Gadget devices. Launch System Preferences -> Network and you should see "new interface detected enXX".

Issue: Each time you reboot the Neo, the interface will get a different Ethernet address. This in turn makes Mac OS X create a new configuration record. After a while you'll end up with a load of unusable enXX devices - if you don't periodically clean them out. Open System Preferences and go to Network -> Show(Network Port Configurations) -> Select an enXX -> Delete.

Note: this is not a problem to blame MacOSX for because it tries to make network configuration simpler based on the assumption of stable Ethernet addresses.

Apple CDC Ethernet driver 10.5.x

Issue:10.5 (Leopard) doesn't show a new ethernet interface for a Neo1973 running 2007.11. You'll only get the serial port, which is detected as a modem. The Ethernet device will show up in ifconfig though. If it doesn't, try the other driver below.

The issue of multiple network interfaces showing up whenever the Neo is rebooted/power-cycled is due to the g_ether driver randomly setting the host and device mac addresses. This problem is remedied by passing the same host and device mac addresses during the modprobe of g_ether. [Not needed with MacOS X.5.7 and Openmoko 2009 16-june-2009. Simply reboot the Mac (again) and Openmoko appear again without changing network settings --Glenn 08:30, 17 June 2009 (UTC)]

AJZaurusUSB driver

You can also use the open source driver from [1]. It was developed for handheld devices like iPAQ, Sharp Zaurus and Motorola A760, but works for Openmoko as well. Download and install according to the manual found inside the package. The code is GPL'd (source available) and runs on both Intel and PPC Macs with 10.3, 10.4 and 10.5. Recent tests with 10.6 have shown that the latest release 0.5.3 also works there.

After rebooting or loading the kernel extension by hand, you should have a new Ethernet interface in your System Preferences/Network.

Note: This driver does not have the same problem as the Apple driver does, where it constantly adds to the list of interfaces each time you reboot the neo, because the driver provides a constant ethernet address independently what the Neo says. Only flashing a new kernel might force you to update.

Issue: This driver is sometimes a bit flaky, and a reboot of the Mac seems to bring it back. It is especially critical about hot unplugging the OM and sleep modes of MacBooks. This may even result in a Kernel Panic.

Network Settings

Open System Preferences and go to Network and you should see "new interface detected enXX". In the Show list box select the new interface - Ethernet Adapter enXX.

Use this configuration on the new interface:

IP-V4: manual
IP-Addr: 192.168.0.200 (you can use anything in 192.168.0.* but OM is configured by default to use 192.168.0.200 as the external gateway)
Subnet: 255.255.255.0 (should be the default - see tip below if have issue with these settings)
Router: 192.168.0.202 (not actually needed, OS X can figure this out for itself, unless you have other conflicting configurations)

Tip: If your Internet connection is also in the range 192.168.0.x then instead you might want/need to use:

Subnet: 255.255.255.248

However if you are running Leopard it may not let you set the subnet claiming that the IP 192.168.0.200 is an invalid address for that subnet. To get round this run the following from the OSX terminal (replacing en11 as appropriate):

sudo ifconfig en11 192.168.0.200 netmask 255.255.255.248

Testing Your Connection

You should be able to connect to your Neo! Try using Terminal (Applications->Utilities->Terminal) to ping the Neo at 192.168.0.202 and the roundtrip time should be between 1 and 2 ms.

ping 192.168.0.202

Then log into your Neo using ssh:

ssh root@192.168.0.202

The default password is blank.

You can also scp files back and forth or share displays with X11. Additional software and configuration could allow telnet, SMB, or many other possibilities using the TCP/IP network over your USB connection.

Here you see the 172.16.140.14 address, which makes it possible not to use natd, since it's in the same network as the Mac is. So the firewall knows where to sent it to -- no routing problems etc. Pick any free address in your private range. For instance, if you are using the following ... firewall: 192.168.1.1, Mac: 192.168.1.2, you can enter 192.168.1.3, assuming it's not used elsewhere on your network.

If you want to be sure you did it right, open the system.log file on the Mac (tail -f /var/log/system.log), and you should see something like this:

ZMacSync does not yet synchronize but allows more easy access to the Openmoko through Terminal/ssh.

Developing Openmoko software on a Mac

Using virtualization software and MokoMakefile/OpenEmbedded

You can use VirtualBox, Parallels or VMWare to install your favourite Linux distribution and then develop just as on Linux.

There are some drawback since AFAIK dfu-util may not work correctly in such environments.

Parallels

Don't bother with Parallels Desktop for Mac (<=3), the current USB support is terrible and USB storage keys don't even work so there was no way I would try dfu-util. USB keys work under VMWare Fusion for Mac though I have yet to try dfu-util in an VM under VMWare Fusion as there is Openmoko Flasher for Mac. -- Eric

VMware Fusion

There is currently no vmplayer for OS X. But the Qtopia image (see Developing_with_C++_and_Qt#Use_pre-built_SDK) will work with VMware fusion. The script will search for vmplayer and complain. Just answer YES when asked if you have the vmplayer installed (I know, it's a lie, but...), and the script will run through. Afterwards open the directory where the files were installed and click on Qtopia.vmx.

In VMware Fusion USB Networking is working properly, just plug in the device and connect it to your virtual machine.

Unfortunately dfu-util is currently not working. In fact if you get dfu-util working via unplug/replug method on Mac OS X it works inside VMware too.

VirtualBox

dfu-util is not working, has some problems with getting exclusive access to the USB device.

Natively

In progress: This article or section documents one or more features whose implementation are in progress.