diff --git a/leo.mk b/leo.mk
index 1590f60..8651416 100755
--- a/leo.mk
+++ b/leo.mk
@@ -95,6 +95,12 @@ PRODUCT_COPY_FILES += \
PRODUCT_COPY_FILES += \
device/htc/leo/prebuilt/apns-conf.xml:system/etc/apns-conf.xml
+# PPP files
+PRODUCT_COPY_FILES += \
+ device/htc/leo/prebuilt/ppp/ip-up:system/etc/ppp/ip-up \
+ device/htc/leo/prebuilt/ppp/ip-down:system/etc/ppp/ip-down \
+ device/htc/leo/prebuilt/ppp/options:system/etc/ppp/options
+
# kernel modules
PRODUCT_COPY_FILES += \
device/htc/leo/prebuilt/modules/bcm4329.ko:system/lib/modules/bcm4329.ko \
diff --git a/prebuilt/keylayout/leo-keypad.kl b/prebuilt/keylayout/leo-keypad.kl
index 6c0384f..03f3794 100755
--- a/prebuilt/keylayout/leo-keypad.kl
+++ b/prebuilt/keylayout/leo-keypad.kl
@@ -1,93 +1,86 @@
-key 102 HOME WAKE_DROPPED
-key 139 MENU WAKE_DROPPED
+key 399 GRAVE
+key 2 1
+key 3 2
+key 4 3
+key 5 4
+key 6 5
+key 7 6
+key 8 7
+key 9 8
+key 10 9
+key 11 0
key 158 BACK WAKE_DROPPED
-
-key 231 CALL WAKE_DROPPED
+key 230 SOFT_RIGHT WAKE
+key 60 SOFT_RIGHT WAKE
key 107 ENDCALL WAKE_DROPPED
-key 116 POWER WAKE_DROPPED
-
+key 62 ENDCALL WAKE_DROPPED
+key 229 MENU WAKE_DROPPED
+key 59 MENU WAKE_DROPPED
+key 139 MENU WAKE_DROPPED
+key 127 SEARCH WAKE_DROPPED
+key 217 SEARCH WAKE_DROPPED
+key 228 POUND
+key 227 STAR
+key 231 CALL WAKE_DROPPED
+key 61 CALL WAKE_DROPPED
+key 232 DPAD_CENTER WAKE_DROPPED
+key 108 DPAD_DOWN WAKE_DROPPED
+key 103 DPAD_UP WAKE_DROPPED
+key 102 HOME WAKE
+key 105 DPAD_LEFT WAKE_DROPPED
+key 106 DPAD_RIGHT WAKE_DROPPED
key 115 VOLUME_UP WAKE
key 114 VOLUME_DOWN WAKE
+key 116 POWER WAKE
+key 211 FOCUS
+key 212 CAMERA
+key 16 Q
+key 17 W
+key 18 E
+key 19 R
+key 20 T
+key 21 Y
+key 22 U
+key 23 I
+key 24 O
+key 25 P
+key 26 LEFT_BRACKET
+key 27 RIGHT_BRACKET
+key 43 BACKSLASH
-# key 399 GRAVE
-# key 2 1
-# key 3 2
-# key 4 3
-# key 5 4
-# key 6 5
-# key 7 6
-# key 8 7
-# key 9 8
-# key 10 9
-# key 11 0
-# key 158 BACK WAKE_DROPPED
-# key 230 SOFT_RIGHT WAKE
-# key 60 SOFT_RIGHT WAKE
-# key 61 CALL WAKE_DROPPED
-# key 62 ENDCALL WAKE_DROPPED
-# key 229 MENU WAKE_DROPPED
-# key 59 MENU WAKE_DROPPED
-# key 139 MENU WAKE_DROPPED
-# key 127 SEARCH WAKE_DROPPED
-# key 217 SEARCH
-# key 228 POUND
-# key 227 STAR
-#
-# key 108 DPAD_DOWN WAKE_DROPPED
-# key 103 DPAD_UP WAKE_DROPPED
-# key 102 HOME WAKE
-# key 105 DPAD_LEFT WAKE_DROPPED
-# key 106 DPAD_RIGHT WAKE_DROPPED
-# key 211 FOCUS
-# key 212 CAMERA
-#
-# key 16 Q
-# key 17 W
-# key 18 E
-# key 19 R
-# key 20 T
-# key 21 Y
-# key 22 U
-# key 23 I
-# key 24 O
-# key 25 P
-# key 26 LEFT_BRACKET
-# key 27 RIGHT_BRACKET
-# key 43 BACKSLASH
-#
-# key 30 A
-# key 31 S
-# key 32 D
-# key 33 F
-# key 34 G
-# key 35 H
-# key 36 J
-# key 37 K
-# key 38 L
-# key 39 SEMICOLON
-# key 40 APOSTROPHE
-# key 14 DEL
-#
-# key 44 Z
-# key 45 X
-# key 46 C
-# key 47 V
-# key 48 B
-# key 49 N
-# key 50 M
-# key 51 COMMA
-# key 52 PERIOD
-# key 53 SLASH
-# key 28 ENTER
-#
-# key 56 ALT_LEFT
-# key 42 SHIFT_LEFT
-# key 15 TAB
-# key 57 SPACE
-# key 150 EXPLORER
-# key 155 ENVELOPE
-#
-# key 12 MINUS
-# key 13 EQUALS
-# key 215 AT
+key 30 A
+key 31 S
+key 32 D
+key 33 F
+key 34 G
+key 35 H
+key 36 J
+key 37 K
+key 38 L
+key 39 SEMICOLON
+key 40 APOSTROPHE
+key 14 DEL
+
+key 44 Z
+key 45 X
+key 46 C
+key 47 V
+key 48 B
+key 49 N
+key 50 M
+key 51 COMMA
+key 52 PERIOD
+key 53 SLASH
+key 28 ENTER
+
+key 56 ALT_LEFT
+key 42 SHIFT_LEFT
+key 15 TAB
+key 57 SPACE
+key 150 EXPLORER
+key 155 ENVELOPE
+
+key 12 MINUS
+key 13 EQUALS
+key 215 AT
diff --git a/prebuilt/media_profiles.xml b/prebuilt/media_profiles.xml
index f4bdf0c..ae1ce88 100644
--- a/prebuilt/media_profiles.xml
+++ b/prebuilt/media_profiles.xml
@@ -25,6 +25,7 @@
+
@@ -41,7 +42,6 @@
-
@@ -70,6 +70,15 @@
+
+
+
+
+
+
+
+
+
]>
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -170,26 +333,26 @@
or query the capabilities of the codec at all if it is disabled
-->
+ minBitRate="64000" maxBitRate="192000"
+ minFrameWidth="176" maxFrameWidth="320"
+ minFrameHeight="144" maxFrameHeight="240"
+ minFrameRate="15" maxFrameRate="30" />
+ minBitRate="64000" maxBitRate="192000"
+ minFrameWidth="176" maxFrameWidth="320"
+ minFrameHeight="144" maxFrameHeight="240"
+ minFrameRate="15" maxFrameRate="30" />
+ minBitRate="64000" maxBitRate="192000"
+ minFrameWidth="176" maxFrameWidth="320"
+ minFrameHeight="144" maxFrameHeight="240"
+ minFrameRate="15" maxFrameRate="30" />
+
+
+
+
+
+
+
+
diff --git a/prebuilt/ppp/ip-down b/prebuilt/ppp/ip-down
new file mode 100755
index 0000000..10acb25
--- /dev/null
+++ b/prebuilt/ppp/ip-down
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+/bin/rm /etc/ppp/ppp0.pid
\ No newline at end of file
diff --git a/prebuilt/ppp/ip-up b/prebuilt/ppp/ip-up
new file mode 100755
index 0000000..8fe07d1
--- /dev/null
+++ b/prebuilt/ppp/ip-up
@@ -0,0 +1,48 @@
+#!/system/bin/sh
+
+#/bin/touch /etc/ppp/ppp0.pid
+#/bin/chmod 777 /etc/ppp/ppp0.pid
+
+case $1 in
+ ppp1)
+ iptables --flush;
+ iptables --table nat --flush;
+ iptables --delete-chain;
+ iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE;
+ iptables --append FORWARD --in-interface ppp1 -j ACCEPT;
+ echo 0 > /proc/sys/net/ipv4/ip_forward;
+ echo 1 > /proc/sys/net/ipv4/ip_forward;
+ ;;
+ ppp0)
+ echo "ip-up fired" > /tmp/ppp.log
+ # /system/bin/setprop "net.interfaces.defaultroute" "gprs"
+ ;;
+esac
+
+# Use interface name if linkname is not available
+NAME=${LINKNAME:-$1}
+
+/system/bin/touch /etc/ppp/ppp0.pid
+/system/bin/chmod 777 /etc/ppp/ppp0.pid
+/system/bin/echo $(pidof pppd) > /etc/ppp/ppp0.pid
+echo "nameserver $DNS1" > /etc/ppp/resolv.conf
+echo "nameserver $DNS2" >> /etc/ppp/resolv.conf
+
+/system/bin/setprop "net.$NAME.dns1" "$DNS1"
+/system/bin/setprop "net.$NAME.dns2" "$DNS2"
+/system/bin/setprop "net.$NAME.local-ip" "$IPLOCAL"
+/system/bin/setprop "net.$NAME.remote-ip" "$IPREMOTE"
+/system/bin/setprop "net.dns1" "$DNS1"
+/system/bin/setprop "net.dns2" "$DNS2"
+modem_log()
+{
+ /bin/echo -e "${@}" >> /tmp/ppp.log
+}
+modem_log "Connection attempt SUCCESSFUL!"
+modem_log "Phone IP: `/bin/ifconfig ppp0 | /bin/grep 'inet addr:' | /bin/cut -d':' -f2 | /bin/cut -d' ' -f1`"
+modem_log "Subnet : `/bin/ifconfig ppp0 | /bin/grep 'inet addr:' | /bin/cut -d':' -f4 | /bin/cut -d' ' -f1`"
+modem_log "P-t-P : `/bin/ifconfig ppp0 | /bin/grep 'inet addr:' | /bin/cut -d':' -f3 | /bin/cut -d' ' -f1`"
+modem_log "Done!"
+sleep 1
+/system/bin/setprop "net.dns1" "$DNS1"
+/system/bin/setprop "net.dns2" "$DNS2"
diff --git a/prebuilt/ppp/options b/prebuilt/ppp/options
new file mode 100755
index 0000000..d7431f9
--- /dev/null
+++ b/prebuilt/ppp/options
@@ -0,0 +1,2 @@
+defaultroute
+usepeerdns