WLAN Access Point with PS3 Jupiter

From PS3 Developer wiki
Revision as of 18:06, 16 September 2012 by Glevand (talk | contribs) (→‎WPA1-AES)
Jump to navigation Jump to search

Introduction

  • WLAN AP driver for PS3 Jupiter (slim only)
  • Please report bugs and problems to me.

Features

  • 802.11bg support
  • Wireless Extension interface
  • WEP40, WEP104 and WPA1(TKIP+AES) support

PS3 Jupiter Driver

Compiling

  • You can compile it on PS3 Linux or cross-compile on a Linux PC
  • But first you have to build a Linux kernel from source.
git clone git://gitorious.ps3dev.net/ps3linux/ps3jupiter.git
cd ps3jupiter
make KSRC_DIR=/home/glevand/kernel/linux-3.5.3 ARCH=powerpc CROSS_COMPILE=powerpc64-linux-

Configuration

  • For configuration you need wireless-tools: iwconfig and so on.
# Load the drivers

insmod ./ps3_jupiter.ko
insmod ./ps3_jupiter_ap.ko

iwconfig wlan1
wlan1     IEEE 802.11bg  ESSID:off/any  Nickname:"ps3_jupiter_ap"
          Mode:Master  Channel:0

# Configure channel and SSID

iwconfig wlan1 channel 6
iwconfig wlan1 essid wlan_rockz

# Configure opmode

iwpriv wlan1 set_opmode 1 (0 = 11b, 1 = 11g, 2 = 11bg)

iwconfig wlan1
wlan1     IEEE 802.11bg  ESSID:"wlan_rockz"  Nickname:"ps3_jupiter_ap"
          Mode:Master  Frequency:2.437 GHz

ifconfig wlan1 192.168.201.200
ifconfig wlan1 up

# WLAN LED should be green now

# Connect to the AP with a PC client and try to ping your AP
# Set static IP address ony your client, e.g. 192.168.201.201

No Security

ifconfig wlan1 down

iwconfig wlan1 channel 6
iwconfig wlan1 essid wlan_rockz

iwpriv wlan1 set_wpa_mode 0

ifconfig wlan1 up

WEP40

ifconfig wlan1 down

iwconfig wlan1 channel 6
iwconfig wlan1 essid wlan_rockz

iwpriv wlan1 set_wpa_mode 0

iwconfig wlan1 key 0123456789

ifconfig wlan1 up

WEP104

ifconfig wlan1 down

iwconfig wlan1 channel 6
iwconfig wlan1 essid wlan_rockz

iwpriv wlan1 set_wpa_mode 0

iwconfig wlan1 key 01234567890123456789012345

ifconfig wlan1 up

WPA1-TKIP

ifconfig wlan1 down

iwconfig wlan1 channel 6
iwconfig wlan1 essid wlan_rockz

iwpriv wlan1 set_wpa_mode 1
iwpriv wlan1 set_wpa_group 2
iwpriv wlan1 set_wpa_pairwise 2
iwpriv wlan1 set_wpa_psk ps3_wlan

ifconfig wlan1 up

WPA1-AES

ifconfig wlan1 down

iwconfig wlan1 channel 6
iwconfig wlan1 essid wlan_rockz

iwpriv wlan1 set_wpa_mode 1
iwpriv wlan1 set_wpa_group 3
iwpriv wlan1 set_wpa_pairwise 3
iwpriv wlan1 set_wpa_psk ps3_wlan

ifconfig wlan1 up

wpa_supplicant.conf for WPA1-TKIP or WPA1-AES

  • This configuration file i used for testing.
ctrl_interface=/var/run/wpa_supplicant
eapol_version=1
ap_scan=1
fast_reauth=1

network={
	ssid="wlan_rockz"
	proto=WPA
	key_mgmt=WPA-PSK
	pairwise=CCMP TKIP
	group=CCMP TKIP
	psk="ps3_wlan"
	priority=2
}

WPA2

  • It seems that WPA2 is not supported.

Test

  • Tested on my PS3 Slim with Linux kernel 3.5.4 and Debian
  • Tested successfully with no security, WEP40, WEP104, WPA1-TKIP and WPA1-AES

Testing AP Mode with libusb

TODO List

  • Find out if WPA2 is possible
  • Find out how to get connected station MAC address and how to enable MAC access control

Future Work

  • Create a LiveCD with WLAN AP mode
  • Create a petitboot with WLAN AP mode
  • Implement PS3 WLAN drivers for PS3 PHAT (not able to do currently because i don't have a PS3 PHAT for testing)

Links