Error Installing Drivers

j.mayer

Member
Hi PICAXE forum,

I am attempting to install the axe027 drivers on to a surface pro 8 but receive the error message:

Windows cannot load the device driver for this hardware, the driver may be corrupted or missing (code 39)

I have tried this on two separate surface pro 8s and got the same error message.

Can you help?

PICAXCE Editor 6.1.0.0 is installed on both surface pro 8s.

Thanks!
 
Last edited:

hippy

Technical Support
Staff member
I am not familiar with the Surface Pro range but I believe the Pro 8 is an Intel processor so the AXE027 drivers should work with it.

With PICAXE Editor 6 installed you can avoid downloading the drivers by using those provided and already extracted with PE6 which can usually be found in -

C:\Program Files (x86)\Revolution Education\PICAXE Editor\USB Drivers\AXE027

The installation is described in the AXE027 manual -


Basically; go into Device Manager, select the AXE027 devices (probably those with yellow exclamation marks alongside them if none explicitly identified as AXE027), and click Update drivers.

Three important things to ensure for manual installation are -

1) On Windows 10 right-click on the "My Computer" icon, select Properties, then follow the Device Manager link at the top left.

Do not use the Settings app or Control Panel / Devices and Printers as they may look a bit like Device Manager but are not, and do not so easily allow what needs to be done.

2) That the files must be extracted from the downloaded .zip to a separate directory on disk. If not the files may appear to be seen by Windows Explorer but not by Device Manager.

If using the drivers provided with PE6 once installed these are already unzipped so this step is not required.

3) When pointing Device Manager to the extracted directory, the top level directory must be selected; the one containing the 'amd64' and 'i386' sub-directories.

Also note that the installation is a two-step process as two drivers must be installed. If the second step is not completed then there will be issues in accessing the installed AXE027 cable. After installing the first driver look for any new exclamation marked devices.
 

j.mayer

Member
Thank you for the detailed, easy to follow instructions. I have followed the steps and it did manage to install on a Surface Pro 7+. This still however failed on the Surface Pro 8. There is a different port on the surface pro 8 as it does not have a USB port and instead has USB C. I have used a USB C to USB adapter when attempting to install. Do you think this is the issue?
 

j.mayer

Member
I have uninstalled device and driver from the Surface pro 7+ and reinstalled using the USB C to USB adapter connected to the dock and it did install fine. I also did the equivalent with the Surface pro 8 and connected it to the dock (after uninstalling the device and driver) and attempted to install using the USB port on the dock and received the same Code: 39 error message (the dock has both USB C and USB hence being able to test with both).

You did mention the CPU was compatible. The CPU on the surface pro 8 is an i5-1145G7. Can you point me to a list of compatible CPUs?
 
Last edited:

hippy

Technical Support
Staff member
I wouldn't have thought having USB-C rather than USB-A would have been a problem With a USB-C plug to USB-A socket adapter I would have thought it would be okay but haven't tried it myself.

Unfortunately Microsoft driver error codes don't give much useful information beyond 'doesn't work', no pointers as to why not, what the root cause may be.

My gut feeling is the Pro 8 has an ARM architecture and running Windows on ARM so doesn't accept the AXE027 driver written for Intel processors. Documentation I found suggested to me that the Pro 8 is Intel rather than ARM but it is worth checking.

Cross-posted so thanks for that info. So we can rule that out; the AXE027 drivers should be compatible with what you have, both Pro 7+ and Pro 8.

Which Windows OS and versions are running on the Pro 7+ and Pro 8 ?

Also, is there a way to try it with a direct connection to the Pro 8 rather than through the dock ?
 

j.mayer

Member
There is no direct connection sorry, only using an adapter (from USB C to USB) as there is only USB C on the Surface Pro 8 hence using the dock to take the adapter out of the equation in case the adapter was the issue (Surface Pro 7+ has USB).
 

hippy

Technical Support
Staff member
Thanks for the clarification. Pro 8 plus USB-C to USB-A adapter then AXE027 is what I would call a direct connection., the closest to one we can achieve.

The question then comes to whether the USB-C on the Pro 8 needs to be enabled to work, configured to work with the adapter plus AXE027, or if there's something else which needs to be enabled.

It would be worth doing a manual uninstall and reinstall of the driver, trying the downloaded and extracted driver and the one provided with PE6 to see if that makes any difference. Trying Remove Device, unplugging the adapter then plugging it back in, installing the driver, is another thing to try.

And, just to check, is the AXE027 appearing in Device Manager under "Ports (COM & LPT)" or some other section ?

And Windows versions - 10, 11 or something else ?
 

j.mayer

Member
It appears under Other devices and after I install it and receive the code 39 error message, it appears under USB controllers. When I attempt to install the drivers from USB controllers, it says the best driver is already installed.

This happens with the PE6 driver and the downloaded one.

I have two different Surface pro 8s and both behave the same way with the installs.

Windows 10 21H2 19044.2130

Thank you for your continuing help with this.
 

marks

Senior Member
you usually get (Code 39) when the driver not yet installed.

you can also access device manager within the pe6 editor.

try (Update Driver) again
select locate and install driver manually

browse in this location
C:\Program Files (x86)

it may need to be done twice

first step usually just identifies it as as a usb device

second step loads the drivers
 

PhilHornby

Senior Member
Windows Driver Error Codes are HERE (admittedly, not all that useful).

I have deleted most of the contents of this post, because a) It was just a duplication of something I'd said in another thread and b) It wasn't the answer to the problem :rolleyes:
 
Last edited:

marks

Senior Member
Hi j.mayer

it still seems to me you may have only completed part 1.

from #10
once it appears under- Universal Serial Bus controllers -section thats part 1 complete.

part 2
It also then appears under- Other devices -again as
! USB serialport
right click on this and update driver
select browse my computer
C:\Program Files (x86)
and hit next

it then should appear under - Ports (COM & LPT)
it may be necessary to right click on Universal Serial Bus controllers and select scan for hardware changes.

if you still get the code 39 uninstall both parts, reboot and try reinstalling again.
 

Attachments

j.mayer

Member
Thanks for responses. When I attempt to install the drivers from USB controllers, it says the best driver is already installed but still appears with the exclamation mark under Universal Serial Bus Controllers as AXE027 PICAXE USB. It does not then list under Ports (COM & LPT) after attempting to install.

I have tried to use the CDM Clean up Tool but after attempting to remove device VID_0403 PID_6001 the error This device could not be found on the system.

In device manager I did however click on Show hidden devices and saw several AXE027 PICAXE USB listed under other devices and removed them along with the driver.

Rebooted and still no further forward.

Have checked the adapter does work with other hardware.
 

kfjl

Member
I banished Windows from my house over a decade ago so I can't help you by actually trying anything out. However, it seems to me that the device you're trying to get rid of with the clean-up tool should have a PID of BD90. Or did you change it to 6001 using FTPROG or RevEd's version of it before your last try at installing?
 

hippy

Technical Support
Staff member
it still seems to me you may have only completed part 1.
That could be correct and would be logical; if the first part doesn't install for whatever reason (code 39) Windows probably won't create the second part to produce a virtual COM Port.

Fully set-up. and what we have here, would probably be something like ...
Code:
.--------.                                       .--------.
| AXE027 |                                       | AXE027 |
`---.----'                                       `---.----'
 ___|___________________________                 ____|__________
|  _|_       _             _    |               |   _|_
| |___|  ___| |___     ___| |___|___\ COMn      |  |___|
|   |   |   |_|   |   |   |_|   |   /           |    
|___|___|_________|___|_________|               |_______________
    |   |         |   |                              |
 .--^---^--.   .--^---^--.                        .--^---^--.
 | FTDIBUS |   | FTSER2K |                        | FTDIBUS |
 `---------'   `---------'                        `---------'
 
Last edited:

PhilHornby

Senior Member
That could be correct and would be logical; if the first part doesn't install for whatever reason (code 39) Windows probably won't create the second part to produce a virtual COM Port.
I'm not convinced it's Windows - I think it might be the actual driver software. (The same sort of mechanism that is sometimes used to make a peripheral look like a CDROM drive when it is first plugged in).
I have tried to use the CDM Clean up Tool but after attempting to remove device VID_0403 PID_6001 the error This device could not be found on the system.
You can omit the "6001" and let it delete all FTDI-related software. What it appears to do, is search all the .INF files (in \Windows\INF), for the specified string(s). Having ascertained which .INF files are involved, it invokes PNPUTIL /Delete-driver to remove them and their associated driver files. Mysteriously, it does a case-sensitive search, so "bd90" and "BD90" aren't the same thing!
Note also, it is capable of removing any driver that it thinks matches!

Something to check ...
If you right-click "AXE027 PICAXE USB" in Device Manager, under Universal Serial Bus controllers and choose "Properties", there is an interesting tick box on the "Advanced" tab - which says "[ ]Load VCP". (In your case, the Virtual Comm Port, is the bit that doesn't load, so it might be that).

Failing that, I'm wondering if there is some sort of Policy in place on the Surface 8's OS install, that doesn't like these ancient drivers...

You could try installing the latest drivers from the FTDI web site. (That's a .zip file containing a .exe - extract it and run). It will populate the driver store, but it won't match the device pid of "BD90", so a little 'overriding' is required :-

Right-click "AXE027 PICAXE USB" in Device Manager and choose "Update Driver", then follow these steps :-



If this happens to work, the devices won't have their "PICAXE AXE027" names, but we can fix that later...
 

kfjl

Member
[PhilHornby]
Failing that, I'm wondering if there is some sort of Policy in place on the Surface 8's OS install, that doesn't like these ancient drivers...
[marks]
looks like the surface pro may have device security preventing successful install.

Such as refusing drivers with unregistered PIDs?
 

PhilHornby

Senior Member
Trying to install the 11 year old, Rev Ed supplied drivers, does indeed give Error 39 when "Core Isolation" is enabled.

We already knew that you couldn't enable this feature with these drivers present - I suppose it makes perfect sense that you can't install them either.

You now have some choices...

(Given that Microsoft seem to have changed the default state of this feature, it could be that some future version of Windows doesn't allow you to disable it. Don't be too harsh on them, they're only trying to save you from yourself ;))
 
Last edited:

marks

Senior Member
probably the best solution to change the pid as suggested by kfjl back in post#11
I've avoided reprograming my cable in the past as I have never needed to do so.

If you have your axe027 working on the desktop its quite easy to change the pid using the REV Ed programing tool
AXE027 Programming Tool - PICAXE

Plugging into another computer win 10 recognizes and installs their drivers almost instantly.
so I'll I think I'll be leaving it with the new pid.
 

Attachments

hippy

Technical Support
Staff member
probably the best solution to change the pid as suggested by kfjl back in post#11
Yes, I think that's worth a try, at least to see if it works and it can be reverted back later if one needs to.

Though I would also suggest trying this -

https://okiprinting-en-us.custhelp.com/app/answers/detail/a_id/25691/~/installing-unsigned-drivers-in-windows-10

Unfortunately it was so long ago that I can't recall how I got the AXE027 driver installed on my 64-bit Windows 10, nor have any explanation as to why it worked on the Pro 7+ without this palava but not the Pro 8. Maybe it is this Core Isolation feature; I don't know, can't enable that myself because other drivers supplied with my PC don't allow it.
 

PhilHornby

Senior Member
If you have your axe027 working on the desktop it's quite easy to change the pid using the REV Ed programming tool
A bit Chicken and Egg though!
I'd never seen this web page before. That PID reprogramming tool is a much safer option than using FTDI's own FT_PROG, which allows unfettered access to things you probably don't want to change.
Plugging into another computer win 10 recognizes and installs their drivers almost instantly, so I'll I think I'll be leaving it with the new pid.
They're not present by default though, are they? (short of rebuilding a PC, it's hard to know).
FTDI's own installation guide talks about downloading the drivers 'available as a setup.exe' (which populates the Driverstore).
The 'signing' issue only rears its head, if you try to modify the driver (presumably to add support for PID_BD90)
Maybe it is this Core Isolation feature
It may not be the OP's only issue, but you definitely cannot load the AXE027 drivers from the Rev Ed. site, if "Core Isolation" is turned on. If you disable it and install, you cannot then re-enable it.

This PCWorld article looks at "Core Isolation" (though they are more interested in possible performance degradation). They note that "Core Isolation" is now on by default in Windows 11 (and presumably Windows 10, on devices Microsoft themselves have set up - like the Surface). They also noted that they couldn't disable "Core Isolation" on the Surface Laptop Studio.

I believe the OP's options are:-
  1. Turn off "Core Isolation" - I believe Error 39 will disappear and the installation will proceed to the next stage.
  2. Change the AXE027 Device PID to 6001 (on another machine, where the drivers are successfully installed for it). It will then work with latest drivers from the FTDI web site.
  3. Load the latest default drivers from the FTDI web site and force the AXE027 to use them, using the procedure given above (Post #20).
The downside of option #1, is of course that you're loading old, non WHQL-compliant drivers and turning off a security feature. The downside of the other options, is that the AXE027 gets loaded with a generic "USB Com Port" name, making it harder to recognise amongst all the other USB serial devices that are undoubtedly connected. (The best of both worlds, would be for Rev Ed to update their driver download!).

In the meantime, it is possible to alter the name of the AXE027, after it has been installed using method #2 or #3. Navigate to HKLM\System\CurrentControlset\Enum\FTDIBUS and find the key starting 'VID_0403". There will be a sub-key called "0000" which contains a REG_SZ value called "FriendlyName" which you can edit. (Leave the (COMx) on the end - Windows will maintain that, as necessary). [These instructions are deliberately vague, to dissuade and protect users who maybe don't have the required 'in-sight' into the possible consequences!]
 
Last edited:

4jaba6

New Member
I am using Windows 10 and downloaded the axe027.zip files. I opened the "New Compressed folder". At top of the window it said 'Extract" and then "Extract All". It then said "the compressed file is empty...."!?!? Before I attempted the Extract, the downloaded axe....zip file has a message " the axe027.zip is not commonly downloaded. Make sure you trust before you open it". I do not know if this message is relevant or why it is there! I am probably doing something very simple wrong, but I can not figure this out! Suggestions/solutions, please TIA
 

PhilHornby

Senior Member
They are downloading and extracting OK for me. I would suspect your Anti Virus / Browser in the first instance. I do get the "not commonly downloaded" message from Microsoft Edge, so I submitted some feedback.
 

4jaba6

New Member
I am not familiar with the Surface Pro range but I believe the Pro 8 is an Intel processor so the AXE027 drivers should work with it.

With PICAXE Editor 6 installed you can avoid downloading the drivers by using those provided and already extracted with PE6 which can usually be found in -

C:\Program Files (x86)\Revolution Education\PICAXE Editor\USB Drivers\AXE027

The installation is described in the AXE027 manual -


Basically; go into Device Manager, select the AXE027 devices (probably those with yellow exclamation marks alongside them if none explicitly identified as AXE027), and click Update drivers.

Three important things to ensure for manual installation are -

1) On Windows 10 right-click on the "My Computer" icon, select Properties, then follow the Device Manager link at the top left.

Do not use the Settings app or Control Panel / Devices and Printers as they may look a bit like Device Manager but are not, and do not so easily allow what needs to be done.

2) That the files must be extracted from the downloaded .zip to a separate directory on disk. If not the files may appear to be seen by Windows Explorer but not by Device Manager.

If using the drivers provided with PE6 once installed these are already unzipped so this step is not required.

3) When pointing Device Manager to the extracted directory, the top level directory must be selected; the one containing the 'amd64' and 'i386' sub-directories.

Also note that the installation is a two-step process as two drivers must be installed. If the second step is not completed then there will be issues in accessing the installed AXE027 cable. After installing the first driver look for any new exclamation marked devices.
Hello Hippy,

In PE6, I went to the "Device Manager" and looked for the AXE027 driver but there is none.
In step 2) it says:
"If using the drivers provided with PE6 once installed these are already unzipped so this step is not required.".
To me this implies that the AXE027 is a driver that should be already installed. Perhaps it is installed in some other location?
Can you please point me to this unzipped driver? Thanks in advance.
 

4jaba6

New Member
UPDATE: I found the driver in "C:\Program Files (x86)\Revolution Education\PICAXE Editor\USB Drivers\AXE027".
Item 3) says:
"When pointing Device Manager to the extracted directory, the top level directory must be selected; the one containing the 'amd64' and 'i386' sub-directories." Is this the "Device Manager" in Windows 10 or on the PE6 Editor ? I believe it is the Windows 10 since it is in item 1). How do I "POINT" the Device Manager?
 

hippy

Technical Support
Staff member
How do I "POINT" the Device Manager?
When you invoke "Update Driver" in Device Manager it will ask which directory you want to update from. You tell it or select that top level directory. That is what was meant by pointing Device Manger at that directory.
 

4jaba6

New Member
Hippy, After following your directions re. pointing the Device Manager and carefully following your instructions posted Dec. 9, 2022, I believe I have successfully installed the AXE027 driver. The PE6 shows in the Device Mgr. that "USB Serial Port" has been installed as well as ""Universal Serial Bus Controllers" with several sub entry's including "AXE027 Picaxe USB". However, when I go to download a program I get "error: can not open com port 1". I believe this is related to your last paragraph on Dec. 9 that this "is a two-step process". Somewhere I read that there must be drivers installed for "virtual com ports". Do I need to do this and if so, can you post how to do this ( in as much detail as you can, please ) or send a link?
If I am barking up the wrong tree, can you kindly point me in the correct direction. TIA
 

4jaba6

New Member
If you can see USB Serial Port in 'Other devices' you are at step 10 on page 3 of https://picaxe.com/docs/axe027.pdf Now carry on the instructions from step 11 onwards.
Technical Support, Hippy and All,
The AXE027 and Virtual Com Port both finally installed and worked based on your guidance and the previous messages on this thread.
To me it is a very convoluted procedure, but this shall quickly be forgotten now that it works. I proceeded to execute the steps 1----> as directed in the previous message. The AXE was apparently installed on COM Port 4 as stated in the Device Manager. I tried downloading to the 20M2 and got an error msg...." cannot open Com Port 1"!?!? I tried each of the USB slots on the reverse of my Desktop computer and got the same msg. I chose a slot and then clicked "Refresh Com Ports" in the Device Manager on PE6. THE PROGRAM DOWNLOADED! I checked the Device Mgr. under "Ports & LPT" and double clicked it. It stated the AXE027 was assigned to Com Port 5. Thanks to members of this FORUM for your assistance!
 

inglewoodpete

Senior Member
Well done. USB to serial interfaces can seem like a minefield. Now that you have 'found' the AXE027 lead on a particular USB port, keep using that specific USB port and it should remain assigned as Com Port 5.
 

4jaba6

New Member
Well done. USB to serial interfaces can seem like a minefield. Now that you have 'found' the AXE027 lead on a particular USB port, keep using that specific USB port and it should remain assigned as Com Port 5.
Peter, Great to hear from you! Had to do the Reinstall because my desktop crashed and I had to reinstall Windows 10 as well as all downloads ect.
Best, JB
 
Top