Jump to content
Sign in to follow this  
wthomas33065

I posted a Fix for the USB controller CTD's

Recommended Posts

Getting real close to root cause, I think and a way to prevent it from happening and still allow edits, etc...

Just a little more testing.

Share this post


Link to post
Share on other sites

Need some clarification.  I use FSUIPC. My devices are recognized but all default profiles are empty. All of them work fine through FSUIPC - all I need to restore now is some custom camera stuff I used.

But aren;t these empty default profiles NULL? or are you saying you cannot create any NEW null profiles, which is what I did prior to this mess - I just copied the empty default and called it yoke fsuipc, etc.

Irritating -  again only way to get back to some semblance of normal is a complete reinstall - in all these updates I have downloaded over half a terabyte during installs. Sure glad I have a fast, unlimited connection.


 

RIG#1 - 7700K 5.0g ROG X270F 3600 15-15-15 - EVGA RTX 3090 1000W PSU 1- 850G EVO SSD, 2-256G OCZ SSD, 1TB,HAF942-H100 Water W1064Pro
40" 4K Monitor 3840x2160 - AS16, ASCA, GEP3D, UTX, Toposim, ORBX Regions, TrackIR
RIG#2 - 3770K 4.7g Asus Z77 1600 7-8-7 GTX1080ti DH14 850W 2-1TB WD HDD,1tb VRap, Armor+ W10 Pro 2 - HannsG 28" Monitors
 

Share this post


Link to post
Share on other sites
2 minutes ago, vgbaron said:

But aren;t these empty default profiles NULL? or are you saying you cannot create any NEW null profiles, which is what I did prior to this mess - I just copied the empty default and called it yoke fsuipc, etc.

Here's what I've found out.  If you copy an existing profile, in the profile manager, and save it, then "unassign all" then it creates an essentially "null" profile.  However, this null profile seems to have "axes" assigned, but no button assignments, and this causes the CTD when you try to access that profile again. 

The reason, I believe is that it is looking for additional xml tags that don't exist in that profile.

If you assign at least one button to that profile, then you're golden.    But what if say, you are using a rudder that has no buttons to assign, or as you say, you want FSUIPC to handle all the mappings?

The trick is, how do we get MSFS to THINK there is a button assigned, so that it see's the necessary xml tags to stop from crashing, but not ACTUALLY assign a button.  That's what I'm working on and I think I've cracked it.  More to follow.

Share this post


Link to post
Share on other sites
1 hour ago, jabloomf1230 said:

That's because only certain USB devices cause the CTD. 

1.  I was trying to help, and we didn't know that then.

2. I don't think we know that now either,  do you have a source?  because plenty of folks yesterday were reporting problems with USB devices that others with those same devices weren't having.  Including bog standard USB mice.

Share this post


Link to post
Share on other sites

Guys.  I think I have discovered the Problem.  Please beware this post will Be LOOOOONG.  

I do not believe the issue is with specific USB devices but rather what we will be referring to "null" controller profiles, or profiles in MSFS that have no "assignments"

The way you create a "null" profile is to copy an existing profile already in MSFS, using "preset manager", then clear all assignments.  

Problem is, this new "null" profile will almost always cause a CTD if you try to select it. or Save it as your current profile and then try to restart MSFS.

So how to fix.   First of all we need to find the offending profile.   

You can go to the tips and tricks post in this forum for how to identify the profiles in the MS store version. 

https://www.avsim.com/forums/topic/588224-11070-patch-usb-ctd-fix-ms-store-version/

If you have steam, you have a little bit easier time because I believe those profiles are located in your Steam directory under \userdata \ YourSteamID \ 1250410 \ remote.  The input files are more clearly labeled like inputprofile_XXXXXXXXX.
 

An offending profile looks like this when opened in notepad:

Your "Axis" assignments will vary depending on the device that you are loading. 

<?xml version="1.0" encoding="UTF-8"?>
<Version Num="1356"/>
<FriendlyName>T.Flight Hotas X profile NULL CRASH TEST2</FriendlyName>
<Device DeviceName="T.Flight Hotas X" GUID="{1AF13790-FC87-11E7-8006-444553540000}" ProductID="45320">
    <Axes>
        <Axis AxisName="X" AxisSensitivy="-50" AxisSensitivyMinus="-50" AxisNeutral="0" AxisDeadZone="2"/>
        <Axis AxisName="Y" AxisSensitivy="-50" AxisSensitivyMinus="-50" AxisNeutral="0" AxisDeadZone="0"/>
        <Axis AxisName="Z" AxisSensitivy="1" AxisSensitivyMinus="1" AxisNeutral="0" AxisDeadZone="2"/>
        <Axis AxisName="rZ" AxisSensitivy="-50" AxisSensitivyMinus="-50" AxisNeutral="0" AxisDeadZone="2"/>
        <Axis AxisName="SliderX" AxisSensitivy="1" AxisSensitivyMinus="1" AxisNeutral="0" AxisDeadZone="2"/>
    </Axes>
 </Device>

The profile is missing button assignments.  And as such will fail when selected, or if it's already assigned and saved.  The trick is to add the appropriate button assignments so that it won't CTD.  This is crucial if you want your rudder/throttles (which might not have buttons) to work, OR if you are simply using a Null profile for use with FSUIPC, or like me, have two controllers plugged in that might conflict. 

Here's what I did.  I opened up one of the ones that wasn't crashing (and had a single button assigned) and looked at the differences and played with some of the xml tags and found that this works and WON'T CTD.  Also it really doesn't have any button assigned, but it does have the assignment tags MSFS is looking for.  The "bold" sections are what I pasted in.  The Context, Action, and Primary Tags have to be present.  The Primary Tag is blank, so no button is assigned.  But MSFS is happy as long as it see's a valid Context section and Action section with a Primary assignment of blank.  If you simply add the "tags" with no data, then MSFS will overwrite them or erase the profile.  So this edit will ensure that MSFS won't overwrite the profile, delete the existing tags, or delete the profile alltogether.

<?xml version="1.0" encoding="UTF-8"?>
<Version Num="1356"/>
<FriendlyName>T.Flight Hotas X profile NULL CRASH TEST2</FriendlyName>
<Device DeviceName="T.Flight Hotas X" GUID="{1AF13790-FC87-11E7-8006-444553540000}" ProductID="45320">
    <Axes>
        <Axis AxisName="X" AxisSensitivy="-50" AxisSensitivyMinus="-50" AxisNeutral="0" AxisDeadZone="2"/>
        <Axis AxisName="Y" AxisSensitivy="-50" AxisSensitivyMinus="-50" AxisNeutral="0" AxisDeadZone="0"/>
        <Axis AxisName="Z" AxisSensitivy="1" AxisSensitivyMinus="1" AxisNeutral="0" AxisDeadZone="2"/>
        <Axis AxisName="rZ" AxisSensitivy="-50" AxisSensitivyMinus="-50" AxisNeutral="0" AxisDeadZone="2"/>
        <Axis AxisName="SliderX" AxisSensitivy="1" AxisSensitivyMinus="1" AxisNeutral="0" AxisDeadZone="2"/>
    </Axes>
    <Context ContextName="PLANE">
        <Action ActionName="KEY_BRAKES" Flag="2">
            <Primary/>
        </Action>
    </Context>

</Device>

So that's it.  Edit the offending profile and add the bolded items, and you'll be good to go. 

You can now use this modified "null" profile for whatever you need.  Rudder/FSUIPC, etc...etc...


This is definitely a PITA, and some of you will want to wait on Asobo for an official fix.  And that's fine.  I get it.  It became a pet project for me and I didn't want to stop investigating until I found something that works.  

  • Like 3
  • Upvote 1

Share this post


Link to post
Share on other sites
1 hour ago, ShawnG said:

1.  I was trying to help, and we didn't know that then.

2. I don't think we know that now either,  do you have a source?  because plenty of folks yesterday were reporting problems with USB devices that others with those same devices weren't having.  Including bog standard USB mice.

It's pretty easy to troubleshoot. Just use wthomas' method above. If that fixes the problem, then your device is on the blacklist.  

Edited by jabloomf1230

Share this post


Link to post
Share on other sites
Just now, jabloomf1230 said:

It's pretty easy to troubleshoot. Just use wthomas' method posted in the MSFS Tips and Tricks section. If that fixes the problem, then your device is on the blacklist.  

or you could just read his post, two replies above yours.  The specific devices thing doesn't fit with the reports.

 

1 hour ago, wthomas33065 said:

I do not believe the issue is with specific USB devices but rather what we will be referring to "null" controller profiles

 

Share this post


Link to post
Share on other sites
2 hours ago, wthomas33065 said:

Guys.  I think I have discovered the Problem. 

Yup, your fix worked for me with my Saitek controllers and FSUIPC. Thanks!

Since most rudder pedal controllers are axis only, why didn't everyone with no buttons assigned to their rudder pedal profile have a problem?

Al

 

Edited by ark

Share this post


Link to post
Share on other sites
3 minutes ago, ark said:

Yup, your fix worked for me with my Saitek controllers and FSUIPC. Thanks!

Since most rudder pedal controllers are axis only, why didn't everyone with no buttons assigned to their rudder pedal profile have a problem?

Al

 

maybe they had an axis assignment at least.  fsuipc users may have deleted those as well.

Share this post


Link to post
Share on other sites
25 minutes ago, ark said:

Yup, your fix worked for me with my Saitek controllers and FSUIPC. Thanks!

Since most rudder pedal controllers are axis only, why didn't everyone with no buttons assigned to their rudder pedal profile have a problem?

Al

 

I can't answer that question.  All I know is that if I take one of my controller profiles and "clear assignments" it doesn't appear to clear the axis assignments on the xml page.  The device won't show ANY assignments in the UI, but they are still there in the xml sheet.  Even my CH Pro Flight Sim Yoke which was detected with "no assignments" in the UI had axis assignments in the XML page.  So I guess it pulls what type of device it is from windows and assigns appropriate axis.

All I know is that if I save any of those profiles with no button assignments, that profile will kick me to the desktop if I try to access it using the little left and right arrows, of it will crash to desktop if I immediately save it after I delete the assignments, and apply that profile as active.

Since I don't have any devices with rudder only, I'm just making an educated guess and commenting on what fits the facts in my case.  Like I said earlier, hopefully the hotfix today will make all of this unnecessary.  But since I was facing the possibility of having to wait several weeks for a fix, I decided to see what I could come up in the short term, and if it helps others get rolling, well so much the better.

Edited by wthomas33065

Share this post


Link to post
Share on other sites

Thanks for the workaround, got my goflight throttle working again without CTD. Awesome!


Arjen Nederstigt

System:

Intel Skylake Core i7 6700K @ 4.0GHz / Gigabyte GeForce GTX 1080 Xtreme / Kingston 2x8GB, DDR4, 2666MHz, CL15

Microsoft Windows 10 Home 

Share this post


Link to post
Share on other sites

I hate to dig up an old thread but all of the sudden my MSFS crashes when I load it.  I narrowed it down to my Fanatec pedals which weren't an issue before.  Is there a way to delete the old profile from the One Store install?   The link in this thread is no longer active.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...