Joystick Issues

Hi,
We are currently having issues with our VEXnet controller. When I was downloading code onto the robot we got a notification saying that we were unable to proceed until we updated firmware. Then we updated firmware and now our Joystick light will not turn on, no vex net keys pair when in our joystick, we cannot pair the joystick to the cortex, and we cannot re download firmware to the joystick. Attached is the sign that we get saying that there are no connections to the joystick, but the wire works with our cortex and with other joysticks. I don’t think that its a code issue but the code is below if you are wondering. I don’t know what to do hahahaha.
Hopefully we wont have to get a brand new controller, and hopefully i’m just missing something.
Thank you!

#pragma config(Motor, port2, rightDrive, tmotorVex393_MC29, openLoop)
#pragma config(Motor, port3, mobileLeft, tmotorVex393_MC29, openLoop)
#pragma config(Motor, port4, mobileLeftFront, tmotorVex393_MC29, openLoop)
#pragma config(Motor, port7, mobileRightFront, tmotorVex393_MC29, openLoop, reversed)
#pragma config(Motor, port8, mobileRight, tmotorVex393_MC29, openLoop, reversed)
#pragma config(Motor, port9, leftDrive, tmotorVex393_MC29, openLoop, reversed)

//*!!Code automatically generated by ‘ROBOTC’ configuration wizard
/*This is the code for our 2017-2018 robot for Vex
This code was created by Jenea McDonald for team 98225M
The last time this code was edited was on March 8th 2018
There are 4 parts to the code:

  1. methods for later use
  2. preauton
  3. autonomous
  4. User control*/

// This code is for the VEX cortex platform
#pragma platform(VEX2)

// Select Download method as “competition”
#pragma competitionControl(Competition)

//Main competition background code…do not modify!
#include “Vex_Competition_Includes.c”
//DRIVE CONTROLS
//drive forward

task driveForward()
{
	motor[leftDrive] = 127;
	motor[rightDrive] = 127;
}

//drive backwards
task driveBackward()
{
	motor[leftDrive] = -127;
	motor[rightDrive] = -127;
}

//stop driving
task stopDriving()
{
	motor[leftDrive] = 0;
	motor[rightDrive] = 0;
}

//pick up goal
task goalDrop()
{
	motor[mobileLeft] = 127;
	motor[mobileLeftFront] = 127;
	motor[mobileRight] = 127;
	motor[mobileRightFront] = 127;
}
//drop goal
task goalLift()
{
	motor[mobileLeft] = -127;
	motor[mobileLeftFront] = -127;
	motor[mobileRight] = -127;
	motor[mobileRightFront] = -127;
}

//stoplift
task goalStop()
{
	motor[mobileLeft] = 0;
	motor[mobileLeftFront] = 0;
	motor[mobileRight] = 0;
	motor[mobileRightFront] = 127;
}

/---------------------------------------------------------------------------/
/* Pre-Autonomous Functions /
/
---------------------------------------------------------------------------*/

void pre_auton()
{

bStopTasksBetweenModes = true;

}

/---------------------------------------------------------------------------/
/* /
/
Autonomous Task /
/
/
/
This task is used to control your robot during the autonomous phase of /
/
a VEX Competition. /
/
/
/
The times may be incorrect, can be open for later changing /
/
---------------------------------------------------------------------------*/

task autonomous()
{
wait1Msec(100);
startTask(goalDrop); //drop the goal lift
wait1Msec(350);
startTask(goalStop);

startTask(driveForward); //drive to the goal
wait1Msec(2750);
startTask(stopDriving);

startTask(goalLift); //lift the goal
wait1Msec(500);
startTask(goalStop);

motor[rightDrive] = 127; //point turn 180 degrees
wait1Msec(2500);
motor[rightDrive] = 0;

startTask(driveForward); //drive to goal scoring
wait1Msec(2500);
startTask(stopDriving);

startTask(goalDrop); //drop the goal lift
wait1Msec(500);
startTask(goalStop);

startTask(driveBackward); //drive back
wait1Msec(1000);

startTask(stopDriving); //stop driving
wait1Msec(100);

}

/---------------------------------------------------------------------------/
/* /
/
User Control Task /
/
/
/
This task is used to control your robot during the user control phase of /
/
a VEX Competition. /
/
/
/
You must modify the code to add your own robot specific commands here. /
/
---------------------------------------------------------------------------*/

task usercontrol()
{
// User control code here, inside the loop
while (true)
{
//Right side of the robot is controlled by the right joystick, Y-axis
motor[rightDrive] = vexRT[Ch2];
//Left side of the robot is controlled by the left joystick, Y-axis
motor[leftDrive] = vexRT[Ch3];

//MOBILE GOAL LIFT
if(vexRT[Btn5U]==true) //move the lift up
{
startTask(goalLift);
}
else if (vexRT[Btn5D]==true) //move the lift down
{
startTask(goalDrop);
}
else
startTask(goalStop); //stop lift
}
}
Capture.PNG