Jump to content


  • Content Count

  • Joined

  • Last visited

Posts posted by FourG

  1. Actually, if it's the old F90/F900BT model, then there are actually 2 tuner modules.  Antenna goes to an RF splitter, with one output going to the FM/AM Tuner module on the Audio board while the other output goes to the TMC/FM6 module in the Navi board.  So you might have a bad FM/AM Tuner module, OR the Navi board isn't doing some sort of correct setup of the Tuner after you put 3.02.100 on the board.


    There are different device types in the AVIC software (especially the iGo folder) that differentiate between the US and Europe models.  Did you happen to flash a European unit with a US update?  The US tuning modes are different than the European ones (mentioned once or twice on this forum)...

  2. OK, finally found my old notes from '09.  Here's a copy of the MortScript I used to set up the registry entries the driver needs, copy the driver DLL over to \Windows and hide the Taskbar so it didn't sit on top of av.exe.  Hope it helps.


    # [HKEY_LOCAL_MACHINE\Drivers\Builtin\Ethman\Popup]
    # Popup=1
    # Timeout=3600 (or 0xE10)
    RegWriteDWord( "HKLM", "Drivers\Builtin\Ethman\Popup", "Popup", 1)
    RegWriteDWord( "HKLM", "Drivers\Builtin\Ethman\Popup", "Timeout", 3600)
    # [HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Custom\MANF-037A-CARDID-5911-FUNC-1]
    # "Dll"="WLAN11g.dll"
    # "Prefix"="NDL"
    # "Instance0"="WLAN11g:WLAN11g1"
    # "Instance1"="WLAN11g:WLAN11g2"
    RegWriteString( "HKLM", "Drivers\SDCARD\ClientDrivers\Custom\MANF-037A-CARDID-5911-FUNC-1", "Dll", "WLAN11g.dll")
    RegWriteString( "HKLM", "Drivers\SDCARD\ClientDrivers\Custom\MANF-037A-CARDID-5911-FUNC-1", "Prefix", "NDL")
    RegWriteString( "HKLM", "Drivers\SDCARD\ClientDrivers\Custom\MANF-037A-CARDID-5911-FUNC-1", "Instance0", "WLAN11g:WLAN11g1")
    RegWriteString( "HKLM", "Drivers\SDCARD\ClientDrivers\Custom\MANF-037A-CARDID-5911-FUNC-1", "Instance1", "WLAN11g:WLAN11g1")
    # "DisplayName"="WLAN-11g ADAPTER"
    # "Group"="NDIS"
    # "ImagePath"="WLAN11g.dll"
    RegWriteString( "HKLM", "Comm\WLAN11g", "DisplayName", "WLAN-11g ADAPTER")
    RegWriteString( "HKLM", "Comm\WLAN11g", "Group", "NDIS")
    RegWriteString( "HKLM", "Comm\WLAN11g", "ImagePath", "WLAN11g.dll")
    # [HKEY_LOCAL_MACHINE\Comm\WLAN11g\Linkage]
    # "Route"=hex(7):57,4c,41,4e,31,31,67,31,00,00
    RegWriteBinary( "HKLM", "Comm\WLAN11g\Linkage", "Route", "574c414e313167310000")
    # "DisplayName"="WLAN-11g ADAPTER"
    # "Group"="NDIS"
    # "ImagePath"="WLAN11g.dll"
    RegWriteString( "HKLM", "Comm\WLAN11g", "DisplayName", "WLAN-11g ADAPTER")
    RegWriteString( "HKLM", "Comm\WLAN11g", "Group", "NDIS")
    RegWriteString( "HKLM", "Comm\WLAN11g1", "ImagePath", "WLAN11g.dll")
    # [HKEY_LOCAL_MACHINE\Comm\WLAN11g1\Parms]
    # "BusNumber"=dword:00000000
    # "BusType"=dword:00000000
    # "PowerMode"=dword:00000002
    # "SDBlockSize"="64"
    # "Domain"="0"
    # "Angle"="0"
    RegWriteDWord( "HKLM", "Comm\WLAN11g1\Parms", "BusNumber", 0)
    RegWriteDWord( "HKLM", "Comm\WLAN11g1\Parms", "BusType", 0)
    RegWriteDWord( "HKLM", "Comm\WLAN11g1\Parms", "PowerMode", 2)
    RegWriteString( "HKLM", "Comm\WLAN11g1\Parms", "SDBlockSize", "64")
    RegWriteString( "HKLM", "Comm\WLAN11g1\Parms", "Domain", "0")
    RegWriteString( "HKLM", "Comm\WLAN11g1\Parms", "Angle", "0")
    # [HKEY_LOCAL_MACHINE\Comm\WLAN11g1\Parms\TcpIp]
    # "EnableDHCP"=dword:00000001
    # "DefaultGateway"=""
    # "UseZeroBroadcast"=dword:00000000
    # "IpAddress"=""
    # "Subnetmask"=""
    RegWriteDWord( "HKLM", "Comm\WLAN11g1\Parms\TcpIp", "EnableDHCP", 1)
    RegWriteString( "HKLM", "Comm\WLAN11g1\Parms\TcpIp", "DefaultGateway", "")
    RegWriteDWord( "HKLM", "Comm\WLAN11g1\Parms\TcpIp", "UseZeroBroadcast", 0)
    RegWriteString( "HKLM", "Comm\WLAN11g1\Parms\TcpIp", "IpAddress", "")
    RegWriteString( "HKLM", "Comm\WLAN11g1\Parms\TcpIp", "Subnetmask", "")
    # [HKEY_LOCAL_MACHINE\Comm\EAP\Extension\13]
    # "Path"="eaptls.dll"
    # "InteractiveUIPath"="netui.dll"
    # "ConfigUIPath"="netui.dll"
    # "InvokeUserNameDialog"=dword:00000001
    # "FriendlyName"="TLS"
    RegWriteString( "HKLM", "Comm\EAP\Extension\13", "Path", "eaptls.dll")
    RegWriteString( "HKLM", "Comm\EAP\Extension\13", "InteractiveUIPath", "netui.dll")
    RegWriteString( "HKLM", "Comm\EAP\Extension\13", "ConfigUIPath", "netui.dll")
    RegWriteDWord( "HKLM", "Comm\EAP\Extension\13", "InvokeUserNameDialog", 1)
    RegWriteString( "HKLM", "Comm\EAP\Extension\13", "FriendlyName", "TLS")
    # [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\AFD]
    # "Order"=dword:00000002
    RegWriteDWord( "HKLM", "Drivers\BuiltIn\AFD", "Order", 2)
    # [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Ethman]
    # "Order"=dword:00000005
    # "Index"=dword:00000001
    # "Dll"="ethman.dll"
    # "Prefix"="ETM"
    RegWriteDWord( "HKLM", "Drivers\BuiltIn\Ethman", "Order", 5)
    RegWriteDWord( "HKLM", "Drivers\BuiltIn\Ethman", "Index", 1)
    RegWriteString( "HKLM", "Drivers\BuiltIn\Ethman", "Dll", "ethman.dll")
    RegWriteString( "HKLM", "Drivers\BuiltIn\Ethman", "Prefix", "ETM")
    # [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\ZeroConfig]
    # "Order"=dword:00000004
    # "Index"=dword:00000001
    # "Dll"="WZCSVC.dll"
    # "Prefix"="ZCF"
    RegWriteDWord( "HKLM", "Drivers\BuiltIn\ZeroConfig", "Order", 4)
    RegWriteDWord( "HKLM", "Drivers\BuiltIn\ZeroConfig", "Index", 1)
    RegWriteString( "HKLM", "Drivers\BuiltIn\ZeroConfig", "Dll", "WZCSVC.dll")
    RegWriteString( "HKLM", "Drivers\BuiltIn\ZeroConfig", "Prefix", "ZCF")
    # "Order"=dword:00000003
    # "Index"=dword:00000001
    # "Dll"="ndisuio.dll"
    # "Prefix"="UIO"
    RegWriteDWord( "HKLM", "Drivers\BuiltIn\NDISUIO", "Order", 3)
    RegWriteDWord( "HKLM", "Drivers\BuiltIn\NDISUIO", "Index", 1)
    RegWriteString( "HKLM", "Drivers\BuiltIn\NDISUIO", "Dll", "ndisuio.dll")
    RegWriteString( "HKLM", "Drivers\BuiltIn\NDISUIO", "Prefix", "UIO")
    # Copy the file "WLAN11g.dll" to \Windows, overwriting if it exists
    Copy( "\My Flash Disk\Utils\WLAN\WLAN11g.dll", "\Windows\WLAN11g.dll", TRUE )
    # Set the task bar to auto hide so it's not over the AVIC buttons
    # [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shell\AutoHide]
    # "Default"=dword:00000001
    RegWriteDWord( "HKLM", "SOFTWARE\Microsoft\Shell\AutoHide", "Default", 1)



     problem is it seems to want to install to the /windows directory, and that works fine for a while, but after a while it just wont detect it anymore then you have to re-install it and setup everything again.  I guess the key is to install to the /myflashdrive but when I do that it will not auto detect the card and will not work.  so my guess is you have to somehow manually edit the registry to make it link to the /myflashdrive, and install the stuff on the myflashdrive so it doesn't get corrupted, but then uses the registery to auto start it, I haven't put enough time into it to figure it all out though.


    We had a long discussion thread going at one point.  In it, I pasted a portion of the MortScript I borrowed from MioPocket that modified a few registry entries I needed for the WiFi settings to pop up:




    My full setup process was in the Wiki at one point but the article doesn't appear to have been copied over when Jason made the backup to the forum, so I'd need to search my old notes for the full script.  Probably won't be able to do that for a week or so.  I came up with some of my settings after reading the GPSPassion thread on MioPocket (http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=136798&whichpage=187).  It's a long read, but if you work backwards from the end it might go faster and get you results sooner.

  4. also one other question, I saw core player and about jumped out of my seat, I was looking for a solution to play Flac audio files on the f90bt forever. 


    so I loaded some up and they played, but no audio came out. I figure no volume control when playing anything with core player, is there a way to fix this?


    On the AVIC F90/900/700BT, there is a volume/source selection control device that's on the Audio board, separate from the Navi board that does all the audio decoding for the USB/SD and drawing of pretty pictures on the display.  If the Navi board doesn't tell the Audio board to choose the USB/SD audio source to send to the speakers before it starts playing, you won't hear the output on the speakers.


    If you can still run the stock Pioneer software, select SD or USB output and play a WAV or MP3 file.  If that works, pause the MP3 then switch over to Core Player and see if you hear output now.  If you do, that probably means you need some sort of app to mimic the stock Pioneer app commands that choose the source and set volume level.

  5. Did you connect the wiring harness' main power to the car's "always on" power, or to the "accessory" power (which goes away when you turn the key to off)?  What you're describing is the same result you'd get if your car battery died or was disconnected, which removes the "always on" power.

  6. While anything is possible given the right resources (time, money, information) there's a huge hurdle to overcome: drivers for all the devices on the F90 (boot support code, Bluetooth, commands to/from the support chips on the radio board, etc).  Without those, you can't really do anything from the OS.  Pioneer developed all that code in-house for the version of Windows running on the HU, and they're not likely to share with homebrewers.


    If you want the latest and greatest OS, the F90's not your best candidate.  Best to purchase a newer model, or make yourself a carputer.

  7. Thank you very much for fast answer.I dont want too much function.I wanna just change music volume up/down,mute, seek radio frequency, maybe play and pause (not very important) .Can i do that fine with F series.

    Yeah, you can do that just fine with the F9*BT series as far as I know.


    what is the different SWI-PS,SWI-RC ? And do i need SWI-CAN or SWI-CAN2?



    It will depend upon your car's make and model. Some cars send the steering wheel commands over a CAN Bus to the head unit, in which case you'd need one of the SWI-CAN* devices. My car uses a voltage divider network that puts a different voltage on a wire depending upon which button is pushed, and I needed the SWI-PS to convert it to the right protocol for the AVIC.


    PAC has an application selector on their website you can use (http://pac-audio.com/). That should help identify if any of their products are compatible or not.

  8. Oh, you can use the controls with the SWI-PS and the AVIC. But as the bullets you pasted state, the way the buttons work won't be 100% like your OEM radio.


    I have the SWI-PS and the AVIC-F90BT, and it's really annoying that on my car you can only seek the radio station/move to next song on iPod/USB/CD. There's no way to do both the seek and the presets with the number of buttons I have anyway. Since all the SWI-PS does is convert specific voltages on the input line to specific commands on the AVIC remote input, I tried an experiment where I used a 2-button combo when programming the SWI-PS for preset up and down (Mode+Up and Mode+Down). Sadly, that didn't work, probably for the reason stated (no support for the preset tuning commands).


    The reason the volume control on the wheel will not affect the in-call volume is the same reason the volume knob on the face doesn't control the in-call volume: it is a hardware design issue with the radio itself (how the Navi and AV boards inside the radio were designed). It will still control the music volume for the currently selected source just fine.

  9. I got everything I needed to get it working on my F90BT (Spectec WiFi driver DLL + most of the registry entries) from the MioPocket release. http://netfresco.com/MioPocket/ Give it a look through, lots of educational value to their MortScript, etc.


    Hi gyes, somebody help me !!!

    I can't download these files, because megaupload is dead, but I need to configure SPECTEC card.

    Maybe somebody can upload this files to rapishare ...etc

    I would be very grateful if someone can help.


  10. Nope, one of the number one complaints about the add-on. No update from Pioneer nor any hack has solved this yet. One of my biggest complaints aside from the ridiculous choice of short, wide on-screen buttons for the presets in the first place. That, and the fact that I've had two of the HD units stop responding to commands from the head unit...

  11. I live in Washington, and have the same problem. (sort of!) I travel to Oregon quite often, and have noticed that right when I cross the bridge into Oregon, my avic jumps ahead one hour as well. But, when i go back across the other way, it fixes itself! Very strange indeed! It must have something to do with the TLS and the time map settings internally. It thinks there is a time change when passing into oregon, as if we were going into Arizona for example. I think the only fix would be if Pioneer sends out an update to the firmware.

    Actually, the fix is present in some of the hacks now. iGo, for some incredibly bizzare reason, put the whole state of Oregon in the Idaho timezone (we have 1 county on the southeastern edge of the state that actually is in that timezone). The fix is to hex edit a file inside the data.zip. See http://avic411.com/index.php?showtopic=27948#p218802 for the fix.

  12. I compiled haret (Thanks to FourG for the good tutorial) and started it in Hack-Mode on my F930BT but the result was disappointing: Nothing happened.


    Does somebody know which type of processor is inside the F930BT?

    You can create an empty text file in the same directory as haret.exe which will cause HaRET to log a lot of information about its discovery process. From http://htc-linux.org...n#Early_logging:


    The easiest way to enable logging in HaRET is to create a file "earlyharetlog.txt" in the same directory as the haret.exe program. The next time one runs HaRET, it will create a file "haretlog.txt" with logging information.


    The resulting "haretlog.txt" file contains information on the device and the actions that HaRET performs during startup. It will also record all commands executed by HaRET.


    When reporting an issue, please create the "haretlog.txt" file as described above and forward it (with a description of the problem) to the HaRET mailing list.


    That same page has some pretty good info about HaRET in general, with some HTC-specifics mixed in.


    In your haretlog.txt, look for something resembling this:


    Trying to detect machine (Plat='PIONEER' OEM='Handheld Reference Board BSP version:TitanHHV1.0.47')
    Wince reports processor: core=ARM1136JF-S name=TN2X0A cat= vend=Centrality


    That will give you a good start on your search for more documentation on the processor.

  13. Sadly, the Parrot hardware used in the F90/900/700BT doesn't support the A2DP profile you'd need to use to stream music. It only supports the Serial Port and Handsfree profiles.


    Can I stream music from my Samsung Galaxy S2 to the Avic F90bt via bluetooth? Is there an app for this, or does my head unit even support this? Are there any mods that allow this?

  14. So FourG, is there any kind of "apps mode" for other F series like f310/320/u310 with newer firmwares?


    No idea, I've not considered moving on from the F90BT, it will be the last Pioneer Navi I purchase after the poor software experience. My next install will probably be a dedicated carputer (I went with F90BT to try to avoid that time-sink but in the end I would have ended up with what I wanted and a much more open platform to customize if I had).

  15. I suspect NEventWatcher.exe may be lockign the comport.


    Very likely, but you'll probably need NEventWatcher.exe active for AV.exe/Tel.exe/MainMenu.exe to work. If the current U/F/Z generation is anything like the F90BT, then I think you need NEventWatcher.exe alive in order for the Navi board to communicate back to the uCom device on the AV board to do all your system tasks (switch audio source, control the eVolume chip, etc). This is done over one of the COM or USARTs (see the Service Manual for the schematic that details which port connects to the uCom).

  16. Great, thanks for the info FourG! Excuse my ignorance, I am still a novice with winCE. How would one load the correct driver in winCE if found? Obviously with windows it can be done in the device manager. Would a mortscript file do the trick?

    Yeah, you'll probably need MortScript if you don't want to do an OS re-imaging. I had to do a similar thing to get my Spectec SDW-821 SDIO card to work with my AVIC-F90BT, the details of what was required might still show up if you search the forum for my posts (I don't have my notes handy). My work was derived from the MioPocket process used to enable the Spectec on handheld navis like the iPaq 310 (uses the same processor as my F90BT).


    You could also use EEGeek's approach of replacing a useless driver with your own, see http://avic411.com/index.php?/topic/31170-modify-base-os/ for the Wiki backup thread on that.

  17. One more thing to mention, I finally received my OBDII to usb reader. Although it works perfectly on my laptop I cannot get my AVIC to work with it. I tried a few 3rd party programs as well as the included program with no luck :( It sees that it is plugged into port 8 but no program I have tried can recognize it.


    ryar, you may need the right driver for the chip in the OBDII reader. If you use you laptop's device manager (assuming Windows here) and look under the OBDII device's properties, you should be able to look up the Hardware ID (usually has VID and PID in the string). You can then do a Google search to see if there are any WinCE drivers for that part (typically these things use an FTDI part but the EEPROM settings change the VID/PID to the OEM's info so only their driver works with it).

  18. ULPI is an industry standard interface for a chip to connect to an external USB PHY (the part of a chip that handles sending and receiving the bits over the cable). You'd have to build some sort of circuit with a transceiver chip, a USB connector and whatever other support circuits to provide required power/config to the transceiver to connect your stuff to USB0. Example: http://www.slscorp.com/products/santacruz-snap-on-board/usb-20-ulpi.html


    The cn4001 pads is the USB0 controller. This usb0 controller has ULPI interface to connect. I don't know what it is exactly but is has a totally different pin assignment. (see page 232 on the developer manual).

    developer manual: http://www.4shared.c...rima_Devel.html

  19. can u share this haret.exe to try at my z120bt ? i need a compile a kernel or your file have a linux distro included?


    Don't have the haret.exe handy, sorry. Never got around to building a Linux kernel for the Titan, but I'm sure you can find some patches on the Internet.


    By the way, you'll need to look up the right platform string to add to src\mach\machlist.txt for the z120bt. Also, there's no guarantee Pioneer or their 3rd party Navi developer used the SiRF Titan, which means you might need to add support for an ARM core other than the 1136JF(S) to HaRET (detection code based on ID register, MMU and cache setup, etc).

  20. Found my notes on setting up a Windows + Cygwin + CEGCC Haret build environment, was in Feb 2011 so there may be some drift and updates required.


    --- Using Cygwin 1.7 and cegcc 0.59 ---

    1. Install Cygwin 1.7 plus the following additional packages:
    2. Download cegcc 0.59 from SourceForge and extract to /opt
      cd /
      tar xvfj /cygdrive/c/Users/haretUser/Downloads/cegcc-0.59.1.tar.bz2
      cd /opt/
      tar xvfj /cygdrive/c/Users/haretUser/Downloads/cegcc_mingw32ce_cygwin1.7_r1375.tar.bz2


    3. Copy libgcc_s_sjlj-1.dll from /opt/cegcc/bin/ to SD card (new dependency cegcc 0.59.0 introduced)
    4. Use git to clone the HaRET repo:
      mkdir /cygdrive/c/haret
      cd /cygdrive/c/haret
      git clone git://git.linuxtogo.org/home/groups/haret/haret.git


    5. Patch src/l1trace.cpp to address the problem with gcc 4.x being more strict with swp/swpb instructions:
                  asm("swpb %0, %1, [%2]"
      +                // Address gcc 4.x strict Rn overlap prevention
      -                : "=r" (readval)
      +                // : "=r" (readval)
      +                : "=&r" (readval)
                  asm("swp %0, %1, [%2]"
      +                // Address gcc 4.x strict Rn overlap prevention
      -                : "=r" (readval)
      +                // : "=r" (readval)
      +                : "=&r" (readval)


    6. Optional: Add the pragma to remove warnings about deprecated conversion from string constant to ‘char*’
       #pragma GCC diagnostic ignored "-Wwrite-strings"

      Files that need cleanup:

    7. Add needed changes to enable ARM1136-J(S)F support (generic ARMv6 could work)
      a. Edit include\arch-arm.h to add Machine1136 class:
      class Machine1136 : public Machine {
         int detect();

      b. Edit src\mach\arch-arm.cpp to add Machine1136 init:

      * ARM 1136JF-S and 1136J-S
         name = "Generic ARM 1136J(F)-S";
         flushCache = cpuFlushCache_arm6;
         arm6mmu = 1;
         archname = "1136";
         CPUInfo[0] = L"1136";
         uint32 p15r0 = get_p15r0();
         return ((p15r0 >> 24) == 'A'
                 && ((p15r0 >> 20) & 0xf) == 1
                 && ((p15r0 >> 16) & 0xf) == 7
                 && ((p15r0 >> 4) & 0xfff) == 0xB36);

      c.Edit src\mach\machlist.txt to add AVIC and iPaq 310 detection:

      PLATFORM=Centrality Titan
      iPAQ310,	1136	,HP iPAQ 310 Travel Companion,	CNTY_TITAN, \
             set ramaddr 0xc0000000, \
             addlist GPIOS p2v(0x80090000) 0xff00 16, \
             addlist IRQS p2v(0x90020000) 0xf000 16
      AVICF90BT,	1136	,Handheld Reference Board BSP version:TitanHHV1.0.47,	CNTY_TITAN, \
             set ramaddr 0xc0000000, \
             addlist GPIOS p2v(0x80090000) 0xff00 16, \
             addlist IRQS p2v(0x90020000) 0xf000 16

      d. Edit tools\buildmachs.py to add the arch-arm.h and arch-centrality.h includes to the auto-generated file it creates (out/mach-autogen.cpp). Make sure to put these lines in the """ quoted Python string following the other #include file declarations:

      #include "arch-arm.h"
      #include "arch-centrality.h"


    8. Build HaRET
      user@host /cygdrive/c/haret
      $ make


      mkdir out
       Compiling (armv4) src/mach/machines.cpp
       Building machine list
       Compiling (armv4) out/mach-autogen.cpp
       Compiling (armv4) src/mach/arch-pxa27x.cpp
       Compiling (armv4) src/s3c-gpio.cpp
       Compiling (armv4) src/msmcmds.cpp
       Compiling (armv4) out/version.cpp
       Checking for relocations
       Linking out/haret-debug (Version "pre-0.5.3-20110820_135737")
       Stripping out/haret-debug to make out/haret.exe
       Creating tar out/haretconsole.tar.gz
      user@host /cygdrive/c/haret


    9. Copy out/haret.exe over to your Testmode SD, eject, boot to test mode and run haret.exe from your SD card.

  • Create New...