[Gen9 Android Development] iourine:
Here is my build.prop (original ICS 4.0.7), hardly it is very different from yours

# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=MR1
ro.build.display.id=MR1.20120529.141046
ro.build.version.incremental=20120529.141046
ro.build.version.sdk=15
ro.build.version.codename=REL
ro.build.version.release=4.0.3
ro.build.date=Tue May 29 14:10:46 CEST 2012
ro.build.date.utc=1338293446
ro.build.type=user
ro.build.user=rd
ro.build.host=debian
ro.build.tags=release-keys
ro.product.brand=archos
ro.product.board=
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=archos
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=omap4
# ro.build.product is obsolete; use ro.product.device
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=G9A-user 4.0.3 MR1 20120529.141046 release-keys
ro.build.characteristics=nosdcard,tablet
ro.archos.hwswid=167
# end build properties
ro.kernel.android.checkjni=0
dalvik.vm.checkjni=false
dalvik.vm.verify-bytecode=false
persist.service.sv.enable=1
archos.tetherState=off
persist.archos.suspend=enabled
opencore.asmd=1
browser.tioptimization=true
connection.concurrent=10
dalvik.vm.heapstartsize=5m
dalvik.vm.heapgrowthlimit=48m
dalvik.vm.heapsize=256m
wifi.interface=wlan0
com.ti.omap_enhancement=true
ro.opengles.version=131072
tv.hdmi.uicloning.enable=true
media.avos.enable-rtsp=true
media.avos.enable-scanner=true
persist.archos.firmware_name=firmware_archos_it4.aos
ro.archos.daos.product=gen9
ro.com.google.mcc_fallback=262
enable.3d.bypass=0
ro.crypto.state=unsupported
ro.board.tsp_has_calibration=true
ro.telephony.default_network=3

#
# ADDITIONAL_BUILD_PROPERTIES
#
ro.com.android.dateformat=MM-dd-yyyy
ro.config.ringtone=Ring_Synth_04.ogg
ro.config.notification_sound=pixiedust.ogg
ro.config.alarm_alert=Alarm_Classic.ogg
ro.com.android.dataroaming=false
keyguard.no_require_sim=false
hwui.render_dirty_regions=false
drm.service.enabled=true
dalvik.vm.heapstartsize=5m
dalvik.vm.heapgrowthlimit=48m
dalvik.vm.heapsize=256m
ro.opengles.version=131072
ro.setupwizard.mode=DISABLED
ro.com.google.gmsversion=4.0.3_r0
dalvik.vm.dexopt-flags=m=y
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt

Don't see anything special for 3G/ppp/dialup

The /etc/ppp/peers/datakey does exist and is exactly the same as quoted by trevd (except for the last line "# disconnect...." that obviously plays no role). So do /etc/ppp/init_pppd_datakey and /etc/chatscripts/datakey_start. But this is not the entire story... someone has to set up the APN, this is the only essential thing, isn't it? And indeed there is a long log of other AT commands (operator query, voice and data service query, etc.), fed to the modem by some other script - which one? And this script uses AT+ACT only, not ATD*99***1. Thus /etc/chatscripts/datakey_start is not actually run! Yet the modem goes online (probably automatically by setting an active content, this may be a feature of its firmware), otherwise LCP negotiation would never begin and IP addresses (correct and specific for the operator) would be never received.

/system/bin/pppd is really a binary file.

To try the tests that require root later...

Please could you get the complete logcat

logcat -b system -b main -b radio -b events *:V

from the modem plug-in till the successful connection (getting the IP addresses plus ~30 sec after that) and post it or send to my private mail (there will be a long dump).