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
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.....
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.
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.
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....
Try adding these 2 lines to your /etc/rc.local....
wdreg windrvr6 auto
chmod 666 /dev/windrvr6
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?
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.
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.
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 ?
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..
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.. ,,
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?
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
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
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 ****************** ********** ********** ******** ****************** ********** ********** ******** ****************** ********** ********** ******** *********
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.
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?
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.
============================================================================================
============================================================================================
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 ?
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.