CodeWarrior 10 Eclipse Linux : Getting USB P&E Multilink drivers to work (HCS08)

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

CodeWarrior 10 Eclipse Linux : Getting USB P&E Multilink drivers to work (HCS08)

11,599 Views
pgrondin
Contributor I

I am looking to find a way to get the USB P&E Multilink drivers working with CodeWarrior 10 for Linux

 

I looked for some procedures on the beta site but did not find anything. I saw that RedHat Enterprice 5.2 is supported somewhere in the CW10 documentation but I guess the real answer is that CW is not that limited regarding Linux distribution.

 

I tried with Ubuntu 9.10 x64 and Ubuntu 9.10 x86 without success. In both cases CW10 ran fine but when I tried to debug the code with the P&E Multilink for a HCS08, the Multilink is not found (GDI not found error)

 

Looking at the installation, there is a P&E folder is /usr/local so I tried to recompile et reinstall the driver but it did not work. On x64, it simply does not compile while on x86, it compiles but does not install complaining about a missing usbfs.

 

I am willing to switch Linux distribution if needed.

 

Thanks for the help.

 

Pierre

Labels (1)
0 Kudos
41 Replies

1,546 Views
new2mcu
Contributor I

bump on that, I'm trying to get my previously installed CW10 off my ubuntu 10.4 x64 system with little progress.  the unistaller hangs, and the delete everything method works fine, but after I reinstall, CW crashes.....

0 Kudos

1,546 Views
xtronics
Contributor I

First, I wouldn't use Ubuntu for production work - try something more stable.

 

What error(s) are you getting?  The P&E multilink can't work with a 64 bit kernel - not sure if they will fix it.  The USBDM opensource pod didn't work for me as of yet - hope it works soon.

 

Look at the group of the install files and make sure you are a member of that group.

 

I have it basically working - it has crashed once in a while - I think mostly due to the P&E driver kludge.

 

What is truly insane, is that eclipse is a Debian package - well maintained with bug reporting processes etc. If they just made the CW part a plug-in to the real eclipse it would be much easier to get support.

0 Kudos

1,546 Views
jcottier
Contributor II

I installed CW 10.0 SE on Ubuntu 10.04 (32 bit), and it would crash every time it tried to run. There was a java error related to PEmicro. I have since installed CW 10.1 SE and that runs fine, except that is could not find the USB multilink. I found that running the driver builder/installer "sudo /usr/local/Freescale/CodeWarrior_MCU_10.1/Drivers/pemicro/setup.sh" as root made it work. This also updated its firmware so that functionality is also in Linux. But it would not survive a reboot. The modules windriver6 and windriver6_usb always appear to be loaded, but the device /dev/windriver6 does not appear until you run the script "sudo /usr/local/Freescale/CodeWarrior_MCU_10.1/Drivers/pemicro/windriver/redist//wdreg windrvr6 auto", and then you have to change its permissions EG sudo chmod 666 /dev/windrvr6. Its a cludge but it works on my machine.

0 Kudos

1,546 Views
bob_walker
Contributor III

Could this be a udev issue? Do you have udev rules for the USB ML12 in /etc/udev/rules.d ?

This is the path for Mandriva....

0 Kudos

1,546 Views
bob_walker
Contributor III

Try adding these 2 lines to your /etc/rc.local....

 

wdreg windrvr6 auto

chmod 666 /dev/windrvr6

 

0 Kudos

1,546 Views
trusc
Contributor II

A question to those in the know: is there a chance that CW10 will ever install and run flawlessly on versions of Ubuntu later than 9.10? I have been trying since Ubuntu 10.4, without luck - mostly the usual PE Micro driver issues. We are now at CW10.1 and Ubuntu 11.04, and still the documentation that accompanies CW refers to Ubuntu 9.10.

 

I was wondering, would it be worth my while installing Ubuntu 9.10 on a virtual machine (e.g. Virtualbox) running on Ubuntu 11.04, and installing CW10.1 on that? Will it work? At the moment I'm using CW10.1 on WindowsXP in this way (on a VM), but I would prefer not to use Windows at all.

 

Any comments?

0 Kudos

1,546 Views
stephane_sst
Contributor I

CW10.0 and 10.1 works fine in a Windows7 64bits virtual machine runnig on Ubuntu 11.04 64bits, an a powerfull desktop (AMD 6 cores and 8 Go RAM). Compile quiet fast, and debug easily with USB MultiLink. Everything work, event processor expert.

 

But it runs extremely slow on a Windows XP 32bits guest on Ubuntu 11.04 64bits host, on a more modest laptop (Dual-core, 4Go Ram, nevertheless). Actually, something goes wrong, and CW burn 100% of CPU.

 

Definitely, CW10 not usable on Ubuntu 64bits.

0 Kudos

1,546 Views
sledge
Contributor I

 


xtronics wrote:

...

Sledge -

 

Did you ever have your multilink attached to a windoze box?


 

Yes, that was the first thing I did the dualboot2windoze when I bumped onto the linux-no-go wall, to make sure the thing works at all.

 

Most prolly that's where your mentioned firmware upgrade took place.

0 Kudos

1,546 Views
xtronics
Contributor I

xulioc -

 

Can you send me a copy of those three configure files .. karl -at- xtronics.com  I think I know what you did  - but testing did not fix things.

 

Is the error only a test to set things to build?

 

Which kernel are you using?

 

Were there any config settings you had to change?

 

Are you using the 'special' version 10.0 ?

 

0 Kudos

1,546 Views
xtronics
Contributor I

I finally have it working  - (thanks  xulioc for pointing the way )  this is on Debian squeeze :

 

Find the line that says :


             echo "#include <linux/autoconf.h>" >> hello.c

 

I changed it  to after trying other approaches..

 

             echo "#include </usr/src/linux/include/linux/autoconf.h>" >> hello.c

 

,.,.,.,.

 

Things are working - yet:

 

My output of ./configure is sayin:

 

 checking for udev support... no

 

But I know there is udev..

 

The part of  configure that is doing the check is:

 

 

if test $VER_BASE = "2.6" ; then                                                                                                                                  
        echo $ac_n "checking for udev support""... $ac_c" 1>&6                                                                                                    
echo "configure:867: checking for udev support" >&5                                                                                                               
        if test $VER_SUBMINOR -lt 13 ; then                                                                                                                       
#kps            UDEV=`ps -ef | grep -w udevd | grep -vc grep`                                                                                                     
                UDEV=`ps -ef | grep -w udevd | grep -vc grep`                                                                                                     
                if test $UDEV != 0; then                                                                                                                          
                        USE_UDEV="yes"                                                                                                                            
                        EXTRA_CFLAGS="$EXTRA_CFLAGS -DUDEV_SUPPORT"                                                                                               
                        DEV_CHANGE_PERMISSION_MSG="add the line \"windrvr6_usb:root:root:0666\" to /etc/udev/permissions.d/50-udev.permissions"                   
                fi                                                                                                                                                
        fi                                                                                                                                                        
        echo "$ac_t""$USE_UDEV" 1>&6                                                                                                                              
fi                                        

 

 

The older udev used /etc/udev/permissions.d   - but that has gone away with newer kernels.

 

I will also have the OSBDM and will see if I can get things to work in the 64 bit world next week..

 

 

 

0 Kudos

1,546 Views
xtronics
Contributor I

Better way to do the same fix:

 

* Need to patch the configure file in

    In /usr/local/Freescale/CodeWarrior_MCU_10.0/Drivers/pemicro/windriver/redist/configure
    Find the line (8) that says :

KERNEL_DIR=""

    Change it to:

KERNEL_DIR="/usr/src/linux"

    Then jump up to usr/local/Freescale/CodeWarrior_MCU_10.0/Drivers/pemicro and run

./setup

 

 

Not sure why - but I thought that KERNEL_DIR was set to null for a reason.. ,,

0 Kudos

1,551 Views
xtronics
Contributor I

sledge -

I would stay away from the eval version - I found it unusable.

 

I don't know which is the latest - they seem to have borrowed a page from M$ play book with silent revs - it should be something like CW-for-Linux-10.0.xxx so forum users can compare apples with apples.

 

Can you tell me if the P&E menu dimms if the target board is not powered up? Or disconnected?

 

 

 

0 Kudos

1,551 Views
sledge
Contributor I

xtronics,

PE Menu lights up upon connect, and stays lit. When I disconnect (and/or plug the USB cable out), it dimms.

I could test the PEMenu when the board is not powered up (i.e., it powers up via USB voltage supply anyhow automatically). To change the jumpers to get the supply from an external source, I do not want to try (since I do not yet have an external supply here with me)

 

executing ./Drivers/pemicro/windriver/wdreg windrvr6 auto is needed every time after restart; thanks for this, xtronics!

 

-- 

sledge

0 Kudos

1,551 Views
xtronics
Contributor I

I'm still getting P&E menu for just a second and it dims - nothing I can do to get it to be seen. 

 

 

ll /dev/ |grep windcrwxrwxrwx  1 karl karl    250,   0 Oct 18 20:10 windrvr6

 

 

 

 

Plugging in the P&E provides this in syslog - note the invalid maxpacket:

Oct 18 22:04:41 england-86 kernel: [ 7088.599697] usb 2-3: USB disconnect, address 4Oct 18 22:04:43 england-86 kernel: [ 7090.692525] usb 2-3: new high speed USB device using ehci_hcd and address 5Oct 18 22:04:43 england-86 kernel: [ 7090.824473] usb 2-3: config 1 interface 0 altsetting 0 bulk endpoint 0x81 has invalid maxpacket 256Oct 18 22:04:43 england-86 kernel: [ 7090.824479] usb 2-3: config 1 interface 0 altsetting 0 bulk endpoint 0x2 has invalid maxpacket 256Oct 18 22:04:48 england-86 kernel: [ 7095.825083] usb 2-3: New USB device found, idVendor=1357, idProduct=0503Oct 18 22:04:48 england-86 kernel: [ 7095.825091] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3Oct 18 22:04:48 england-86 kernel: [ 7095.825096] usb 2-3: Product: USB-ML-12 Rev COct 18 22:04:48 england-86 kernel: [ 7095.825099] usb 2-3: Manufacturer: P&E Microcomputer Systems, Inc.Oct 18 22:04:48 england-86 kernel: [ 7095.825102] usb 2-3: SerialNumber: PE5515440Oct 18 22:04:48 england-86 kernel: [ 7095.825341] usb 2-3: configuration #1 chosen from 1 choice

 

 

 

 

 

My output  - if someone could please send me their output ( karl@xtronics.com)

 

$ ./cwidePlugin com.processorexpert.core.socketclient ProcessorExpertServiceProvidercom.processorexpert.core: Plugin com.processorexpert.core.socketclient ProcessorExpertServiceProvidercom.processorexpert.core: System directory = /usr/local/Freescale/CodeWarrior_MCU_10.0/MCU/ProcessorExpertCannot get env. variable ALLUSERSPROFILEcom.processorexpert.core: User working directory = /home/karl/workspace/.metadata/.plugins/com.processorexpert.core/CWMCU_PE1_00Plugin com.processorexpert.ui.cdtlayout ExpertPerspectiveManaged Build system manifest file error: Duplicate identifier cdt.managedbuild.tool.gnu.c.compiler.input for element type InputType.Managed Build system manifest file error: Duplicate identifier cdt.managedbuild.tool.gnu.cpp.compiler.input for element type InputType.Managed Build system manifest file error: Duplicate identifier cdt.managedbuild.tool.gnu.c.compiler.input for element type InputType.Managed Build system manifest file error: Duplicate identifier cdt.managedbuild.tool.gnu.cpp.compiler.input for element type InputType.Managed Build system manifest file error: Duplicate identifier hc08.toolchain.compiler.base.opt.o0 for element type Option

 

 

 

0 Kudos

1,551 Views
sledge
Contributor I

Hello mdelac01 and community!

 

Been trying to get it up and running, to no success. My case:

 

Freescale MC9S08QG8 on the DEMO9S08QG8 board

connected via USB cable to host: Ubuntu 10.10 32-bit on the 32-bit acer laptop with custom 2.6.35 kernel compiled with CONFIG_USB_DEVICEFS (to avoid error in pemicro setup.sh)

 

 

 

Ran

./Drivers/pemicro$ sudo ./setup.sh

./eclipse$ sudo ./cwide

 

In cwide upon executing Debug->hello-world_MC9S08QG8_PnE USB BDM I get:

 

Info: Notice - Cyclone Pro/Max USB driver did not initialize. (2000000A)Info:        - Library=libwdapi1002.soInfo: Error opening selected communication interfaceError: Error - Port not found.Info: Could not contact P&E Hardware Interface. Check Power and Connections.Info: Could not contact P&E Hardware Interface. Check Power and Connections.

and this in dmesg:

[10987.064602] OS_register_devices: Not supported on this platform[10987.064760] OS_register_devices: Not supported on this platform[10987.064851] OS_register_devices: Not supported on this platform

2000000A means WD_NOT_IMPLEMENTED (from http://read.pudn.com/downloads66/sourcecode/windows/vxd/238062/p9054/windrvr.h__.htm)

 

This might be the clue, but could not find anything on this one in the net..

 

Earlier had fixed the "mount: unknown filesystem type 'usbfs'" error during ...pemicro$ sudo ./setup.sh , but did not solve the problem.

Had this problem (2000000A) months ago, too, on EasyPeasy Ubuntu-8.10-based netbook distro, so I do not think that testing it on 10.04 would be worth the time.

 

Where could be the problem in my case?.. (see more listings under the signature)

 

I realy much hope that at least it works for most of you Linux fellows out there!

 

-- 

sledge

 

lsmod | head:

 

Module                  Size  Used bywindrvr6              169024  0parport_pc             25956  0ppdev                   5368  0dm_crypt               11110  0arc4                    1165  2joydev                  8551  0snd_hda_codec_realtek   216741  1snd_hda_intel          21789  2pcmcia                 35682  0...

 dmesg of windrv6 load and USB cable connect:

[10820.986092] windrvr6: module license 'Proprietary' taints kernel.[10820.986099] Disabling lock debugging due to kernel taint[10820.990889] WinDriver v10.02 Jungo (c) 1997 - 2009 Build Date: Jul 14 2009 X86 32bit loaded[10884.969064] usb 1-3: new high speed USB device using ehci_hcd and address 3[10885.101501] usb 1-3: config 1 interface 0 altsetting 0 bulk endpoint 0x81 has invalid maxpacket 256[10885.101507] usb 1-3: config 1 interface 0 altsetting 0 bulk endpoint 0x2 has invalid maxpacket 256

 

 

 

tail of the ./Drivers/pemicro$ sudo ./setup.sh output:

<...>./setup_inst_dir /usr/local/PEMicrocomputerSystems/windriver /lib/modules/2.6.35.4embeneric/kernel/drivers/misc LINUX.2.6.35.4embeneric.i386/windrvr6.ko no "change the permissions of /dev/windrvr6"Installing the WinDriver kernel module(s)-----------------------------------------WinDriver's kernel module (windrvr6.ko)can be reloaded upon every boot.The kernel module will be loaded after running the wdreg script upon bootin the following manner:    <path to the wdreg script>/wdreg windrvr6 autoAlternatively you can manually load the kernel module as explainedin WinDriver's User's Manual.It is recommended to add this call in your rc.local file.NOTE: Due to security reasons, by default, /dev/windrvr6 is created withpermissions only for the root user. To enable other user access,change the permissions of /dev/windrvr6WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.make[1]: Leaving directory `/usr/local/PEMicrocomputerSystems/windriver/redist'Waiting 15 seconds for windriver's kernel module to load...********* ********** ********** ******** ****************** ********** ********** ******** ****************** ********** ********** ******** ****************** P&E Install has been a success ****************** ********** ********** ******** ****************** ********** ********** ******** ****************** ********** ********** ******** *********

 

 

0 Kudos

1,551 Views
HCatalin
NXP Employee
NXP Employee

Hi Pierre,

The official Linux distribution supported by MCU10.0 is Linux Red Hat Enterprise Edition 5.2 32-bit. Please use exactly this version in order avoid any issues with the P&E drivers and runtime libraries.

Note that in order to install the P&E driver you have to use a SU user.

 

If this doesn't work for you please enable the logger from the Launch config dialog \ Connection tab and attach it.

 

 

0 Kudos

1,551 Views
xtronics
Contributor I
Are you really telling people you don't support x86_64 hardware (or the majority of computers shipped to day)? This problem has nothing to do with using Redhat vs other flavors of Linux.
0 Kudos

1,551 Views
mdelac01
Contributor I

Same issue here...error seems to be:

$ mount: unknown filesystem type 'usbfs'.

 

The strange thing is that when I first installed CW 10 on my Ubuntu 10.04 machine it all worked perfectly.  I was able to detect my Multilink USb no problems.

 

But starting today, I cannot detect it any more

I'm considering re-installing the entire thing again.

 

Any one has been able to fix this?

0 Kudos

1,551 Views
goronyan
Contributor I

I have the same problem.

I tried Ubuntu 10.04 x64 and failed because of a libusbxxx file.  but i did not  try to solve it because there is no expressed support in the documentation files.

 

Then i tried then with suse 11.3, and face the same problem plus a few kernel compilation  issues. This time i got rid of them all, until i got  this message :

 

configure: error: You are trying to install WinDriver for i386 on x86_64.

 

I also tried folowing the jungo instructions at this page 

http://www.jungo.com/st/support/installation_instructions.html

but i get the same error.

 

here is the output from the installation attemp.

 

============================================================================================

 

 

dcgasca@linux-5tug:/usr/local/Freescale/CodeWarrior_MCU_10.0/Drivers/pemicro> sudo ./setup.sh 
cleaned old version install
USE_KBUILD = yes
loading cache ./config.cache
configure: error: You are trying to install WinDriver for i386 on x86_64.
loading cache ./config.cache
configure: error: You are trying to install WinDriver for i386 on x86_64.
make -f makefile.usb.kbuild clean
make[1]: se ingresa al directorio `/usr/local/PEMicrocomputerSystems/windriver/redist'
make[1]: makefile.usb.kbuild: No existe el fichero o el directorio
make[1]: *** No hay ninguna regla para construir el objetivo `makefile.usb.kbuild'.  Alto.
make[1]: se sale del directorio `/usr/local/PEMicrocomputerSystems/windriver/redist'
make: *** [clean] Error 2
make -f makefile.usb.kbuild
make[1]: se ingresa al directorio `/usr/local/PEMicrocomputerSystems/windriver/redist'
make[1]: makefile.usb.kbuild: No existe el fichero o el directorio
make[1]: *** No hay ninguna regla para construir el objetivo `makefile.usb.kbuild'.  Alto.
make[1]: se sale del directorio `/usr/local/PEMicrocomputerSystems/windriver/redist'
make: *** [all] Error 2
make -f makefile.usb.kbuild
make[1]: se ingresa al directorio `/usr/local/PEMicrocomputerSystems/windriver/redist'
make[1]: makefile.usb.kbuild: No existe el fichero o el directorio
make[1]: *** No hay ninguna regla para construir el objetivo `makefile.usb.kbuild'.  Alto.
make[1]: se sale del directorio `/usr/local/PEMicrocomputerSystems/windriver/redist'
make: *** [all] Error 2
Waiting 15 seconds for windriver's kernel module to load...
********* ********** ********** ******** *********
********* ********** ********** ******** *********
********* ********** ********** ******** *********
********* P&E Install has failed******** *********
********* ********** ********** ******** *********
********* ********** ********** ******** *********
********* ********** ********** ******** *********

 

============================================================================================

 

The documentation from windriver says the driver has support for x64, but may be another file not supplied by the codewarrior instalation package.  so i may ask :

 

have anyone used succesfully the p&e multilink in any linux  x64  distribution ? 

 

have anyone used succesfully in ANY LINUX distribution  ?

 

 

 

 

0 Kudos

1,551 Views
xtronics
Contributor I
Did you ever get this working - I've got the same problem..
0 Kudos

1,551 Views
bob_walker
Contributor III

The P&E USB ML12 works fine on Mandriva 32-bit 2010.1 though when installing, you'll need to link a few include files before the install.

0 Kudos