Announcement

Collapse
No announcement yet.

Stealth Wimax driver drvxi314.ko?

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #31
    As mentioned, the bcm_wimax module never worked for me, so you're on your own with that.

    If wimaxd isn't opening the device, points to the module not being loaded or not finding the device. wimaxd's CM_Server_Debug.log file was in a 'Trying to open device' loop only until I modprobe'd drxvi314. What is your dmesg output once you modprobe or insmod drxvi314?

    Mine is listed below at the point of 'modprobe drxvi314':

    Code:
    [ 8993.080433] usbbcm_device_probe:subtype[1] = 0x000000ff
    [ 8993.080447] 
    [ 8993.080453] usbbcm_device_probe:subtype[2] = 0x00000000
    [ 8993.080458] 
    [ 8993.080463] usbbcm_device_probe:subtype[4] = 0x00000000
    [ 8993.080468] 
    [ 8993.080473] usbbcm_device_probe:subtype[8] = 0x00000000
    [ 8993.080477] 
    [ 8993.080483] InitAdapter:Initialising Adapter = 0xffff8800550a0000
    [ 8993.080556] InitAdapter:Adapter initialised
    [ 8993.080569] usbbcm_device_probe:psIntfAdapter 0xffff8800cd348000
    [ 8993.080577] InterfaceAdapterInit:MODEM IS CONFIGURED TO FULL_SPEED 
    [ 8993.082298] InterfaceAdapterInit:First RDM Chip ID 0xbece3301
    [ 8993.082303] 
    [ 8993.082309] InterfaceAdapterInit:Current number of endpoints :6 
    [ 8993.082313] 
    [ 8993.083607] InterfaceAdapterInit:usb dev registered
    [ 8993.083804] create_worker_threads:Init Threads...
    [ 8993.092682] open_firmware_file:Got file descriptor pointer of /lib/firmware/macxvi.cfg!
    [ 8993.092702] bcm_parse_target_params:Config file /lib/firmware/macxvi.cfg size = 144 bytes
    [ 8993.092729] beceem_parse_target_struct:AutoSyncup is Disabled
    [ 8993.092737] 
    [ 8993.092742] beceem_parse_target_struct:Disabling autolink up
    [ 8993.092749] beceem_parse_target_struct:DDR Setting: 3
    [ 8993.092753] 
    [ 8993.092758] beceem_parse_target_struct:Enabling Auto Firmware Download
    [ 8993.092762] 
    [ 8993.092768] beceem_parse_target_struct:HarqCat5Enable   : 0x101
    [ 8993.092771] 
    [ 8993.092776] beceem_parse_target_struct:HarqCat5Enable   : 0x0
    [ 8993.092780] 
    [ 8993.092785] beceem_parse_target_struct:MIPSConfig   : 0x0
    [ 8993.092788] 
    [ 8993.092793] beceem_parse_target_struct:PMU MODE: 0
    [ 8993.092798] beceem_parse_target_struct:bDisableFastFlashWrite:0
    [ 8993.092804] beceem_parse_target_struct:uiEEPROMFlag  : 0x2
    [ 8993.092808] 
    [ 8993.092813] beceem_parse_target_struct:Power Save Mode: 0
    [ 8993.092816] 
    [ 8993.092821] doPowerAutoCorrection:PMU selected ....
    [ 8993.092827] beceem_parse_target_struct:LinkUp Config   : 0x3
    [ 8993.092831] 
    [ 8993.097435] updateWriteProtectedRegister:Value read from Reg: 0xf000c00 is 0x1f4022
    [ 8993.097435]  
    [ 8993.097454] updateWriteProtectedRegister:Register 0xf000c00 restored successfully, with value 0x1f4022 !!
    [ 8993.097462] 
    [ 8993.097468] updateWriteProtectedRegister:Tried to restore Reg: 0xf000c00, 0 times
    [ 8993.097468]  
    [ 8993.097477] Bcm_kill_all_URBs:Cancelling All Submitted TX Urbs 
    [ 8993.097482] 
    [ 8993.097501] Bcm_kill_all_URBs:Cancelling All submitted Rx Urbs 
    [ 8993.097505] 
    [ 8993.097523] 
    [ 8993.097523] <<<<No of tries in the tx side:0>>>
    [ 8993.097529] 
    [ 8993.097529] <<<<No of tries in the Rx side:0>>>
    [ 8993.097536] Bcm_kill_all_URBs:TCB: used- 0 cur-0
    [ 8993.097541] 
    [ 8993.097545] Bcm_kill_all_URBs:RCB: used- 0 cur-0
    [ 8993.097549] 
    [ 8993.097554] reset_card_proc:Reseting UMA-B 
    [ 8993.097558] 
    [ 8993.097566] ====================>
    [ 8993.174361] usb 1-4.1: reset full-speed USB device number 19 using ohci_hcd
    [ 8993.276224] Do Post chip reset setting here if it is requiredddr_init:Register Count is =48
    [ 8993.599870] 
    [ 8993.723761] InitCardAndDownloadFirmware:CFG file downloaded
    [ 8993.811692] 
    [  8993.811692]  /usr/src/USB_350/Source/Driver/Network/OSAL/Linux/usb/Common/nvm.c:ReadMacAddressFromNVM:441:Buffer  dump of size 0x6 in the HEX:
    [ 8993.811710] 12 34 56 78 9A BC 
    [ 8993.811727] register_networkdev:Registering netdevice notifier
    [ 8993.811732] 
    [ 8993.811745] register_networkdev:BCM Notifier got Registered
    [ 8993.812253] bcm_notify_event:Register RefCount: 7
    [ 8993.812259] 
    [ 8993.812412] register_networkdev:Beceem Network device name is eth2!
    [ 8994.560057] ReadLEDInformationFromEEPROM:GPIO's bit map correspond to LED :0xA000
    [ 8994.779868] ReadLEDInformationFromEEPROM:SPIO's bit map correspond to LED :0x0
    [ 8994.783907] open_firmware_file:Got file descriptor pointer of /lib/firmware/macxvi350.bin!
    [ 8994.783917] BcmFileDownload:Opened file is = /lib/firmware/macxvi350.bin and length =0x2039a8 to be downloaded at =0xbfc00000
    [ 8994.783925] BcmFileDownload:download start 13f1be7e2e3
    [ 8999.139253] InterfaceFileDownload:Got end of file!
    [ 9003.261792] InterfaceFileReadbackFromChip:Got end of file!
    [ 9003.261826] BcmFileDownload:file download done at 13f1be80408
    [ 9003.261833] InitCardAndDownloadFirmware:BIN file downloaded
    [ 9003.275867] device_run:Sending first interrupt URB down......
    [ 9003.277961] device_run:Got the mailbox interrupt ...Registering control interface...
    [ 9003.277961]  
    [ 9003.278232] register_control_device_interface:Got Major No: 251
    [ 9003.281846] usbbcm_device_probe:Enabling USB Auto-Suspend
    [ 9003.281859] 
    [ 9003.281990] usbcore: registered new interface driver usbbcm


    Originally posted by PJJ View Post
    One question: You mention 'private key'.
    I can only find "TLSPrivateKey. . ." in various incarnations in the wimaxd.conf file. The closest I can come is:

    #TLSDevicePrivateKeyFileName /lib/firmware/device_private_key.pem
    I will have to look at the Russian instructions to see how they get the private key.
    In wimaxd.conf,
    TLSDevicePrivateKeyFileName should be unset or commented out
    TLSDevicePrivateKeyPassword should be your 6-character hwaddr/mac address
    FirmwareRSAPrivateKeyEncrypt should be 'yes'
    FirmwarePrivateKeyBits should be 2048.

    The private key does not leave the U600, which is why FirmwareRSAPrivateKeyEncrypt is set to yes. All that is necessary is to supply the U600 with the PrivateKeyPassword (your MAC address). This was the part that took the longest for me...which took a lot of trial & error of modifying wimaxd.conf literally hundreds of times. So I can only really comment on what worked for me (the information I listed above). You can, however, set TLSDevicePrivateKeyFileName to 'DeviceMemSlot2' in which wimaxd will pull the key off, but on my system, openssl couldn't figure out how to process the private key file (appropriate engine/etc..).

    Once I got the above method working, I did not continue with other approaches.

    If wimaxd is still telling you device not present, make sure your module is being loaded & initializing the U600 at startup.
    Last edited by paperplate9; Aug 24, 2013, 10:33 AM.

    Comment


      #32
      Summary of my recent failed attempts are on pastebin.

      http://pastebin.com/UKmHaUsN

      Comment


        #33
        Thank you, paperplate9.
        I just pasted a bunch of other stuff at pastebin. Going in circles. I desperately need some input from outside.
        Therefore I will carefully look at and study your remarks and suggestions.
        It appears to me that something is wrong with my driver modules. They are shown in the correct places - but I often get the 'file not found' or 'file does not exist' message even when I am looking at it.

        Also always have problems recompiling modules. Many error messages. It is making my head spin.

        On the positive side: dmesg does some work and gives results similar to that you show. It also definitely shows 'usbbcm' as driver. Just as in your message.

        I will get back in detail.
        Thank you again for your input.

        Comment


          #34
          Originally posted by PJJ View Post
          Summary of my recent failed attempts are on pastebin.

          http://pastebin.com/UKmHaUsN
          Your socket bind failure could mean one of two things:

          1. you already have another wimaxd process running

          2. based on the code, it is trying to bind to 127.0.0.1:5200. Make sure "sudo netstat -anp|grep :5200" does not have any results (prior to running wimaxd).

          It looks like if the bind fails, you can forget about doing anything else as it does not attempt to open the device.

          Also you can forget about ipv6 or ipv4 or running dhclient prior to connecting to a base station....none of that matters until that point.

          Don't worry about 169.254.x.x either, this is your link-local IP which will always be there and has nothing to do with the U600.

          And the stuff you see in picocom looks like the stuff the NetworkManager does once it detects a modem on the system...trying to query and/or initialize it.

          Just focus on making sure dmesg doesn't give any bad output once you modprobe drxvi314, and that you only have one wimaxd running and no other application listening on port 5200. From some googling, if you are a ham & run echolink, it may be interfering. All your other stuff you're chasing I don't feel leads you to getting the U600 working.

          Comment


            #35
            Thanks. And I agree with your remark about all the other stuff I am chasing.
            That's is one of my downfalls. I get to work on the issue, find some interesting stuff related (or not) to it and go to work on the unscheduled stuff. Soon after I am lost, I guess.

            I will follow your suggestions tomorrow.
            Just attempted to use the U600 in XP. It does no longer detect it!!

            Comment


              #36
              Quote from paparplate9 post:

              "... From some googling, if you are a ham & run echolink, it may be interfering..."

              Yes, I am a ham. But I do not run echolink.

              Comment


                #37
                drxvi314.ko compilation errors!!!

                Since something seems to be wrong with my existing wimax driver drzvi314.ko I decided to re-compile it to the kernel 3.8.0-29-generic.

                Did not succeed.

                The terminal output with the error messages is now posted at

                http://pastebin.com/bcx8vj6F

                I need help with this one. I am not a programmer and have no idea what the actual error is and how to fix it.

                Comment


                  #38
                  Originally posted by PJJ View Post
                  drxvi314.ko compilation errors!!!

                  Since something seems to be wrong with my existing wimax driver drzvi314.ko I decided to re-compile it to the kernel 3.8.0-29-generic.

                  Did not succeed.

                  The terminal output with the error messages is now posted at

                  http://pastebin.com/bcx8vj6F

                  I need help with this one. I am not a programmer and have no idea what the actual error is and how to fix it.
                  find . -type f \( -name \*.[hc] -o -name \*.cpp \) -exec dos2unix {} \;

                  Edit: Are you running the install.sh script? It does this as well as makes some patches to the driver before compiling.

                  Edit 2: From going through your previous posts, I think you are following http://pastebin.com/AzBndfdH. From there make sure you are performing steps #12 (dos2unix) & #13 (patching) before make'ing the driver. However, I just used install.sh in the root dir of Sprint4gDev with no issue. I've upgraded to Ubuntu 13.04 which built the module fine on kernel 3.8.0-29-generic, as well as allowed me to connect to a base station.
                  Last edited by paperplate9; Aug 27, 2013, 07:45 AM.

                  Comment


                    #39
                    Oh, a crazy idea!
                    I am running 13.04. Could I use your compiled drxvi314.ko if you gave it to me?
                    My installation is quite standard/defaults.

                    Yes, either the referenced pastebin (with the exception of the patch(es) or Minhazul (Linux Mint). Both worked for me at one time or another. Last failed was according to Minhaz.
                    Minhaz does not patch. I looked at the files to patch at one time and found that the newer versions of the files inquestions already had the patched info - at least some of them.

                    Nevertheless I would patch if it cooperated with me. At this time it just sits there doing nothing, though I have very detailed instructions from the author of the pastebin regarding the patching process. I do apply the instructions. The patch does not apply.

                    As you know from my postings I had a working drxvi314.ko at one time. Unfortunately, either something happened to it or it got erased when I cleaned with UbuntuTweak.
                    "locate' still finds it and so does Dolphin.
                    But modprobe says 'file not found' and insmod installs the module (according to lsusb) but nothing else exciting is happening.

                    After loading the driver I also get the ifconfig -a eth1 entry. Something is happening.

                    Latest: XP now also does not find the device. Some code on the device itself was changed (for example by extracting the device while it is still working).
                    I will call Virgin Mobile and check whether they can direct me to the URL with the wimax installation files for download.
                    That helped with my Novatel 760 modem by restoring it to factory.
                    Last edited by PJJ; Aug 27, 2013, 02:55 PM. Reason: clarification

                    Comment


                      #40
                      PS:
                      I used 'install.sh' to compile to the kernel (3.11.0-xx-generic) -except for the patch(es) and the Sierra modem instructions. Did not work at all.
                      It seems that some of the required directories have been rearranged and/or moved to other spots. But I will not touch that in detail at all. Got to get 13.03 working.
                      Last edited by PJJ; Aug 27, 2013, 02:44 PM.

                      Comment


                        #41
                        Originally posted by PJJ View Post
                        PS:
                        I used 'install.sh' to compile to the kernel (3.11.0-xx-generic) -except for the patch(es) and the Sierra modem instructions. Did not work at all.
                        It seems that some of the required directories have been rearranged and/or moved to other spots. But I will not touch that in detail at all. Got to get 13.03 working.
                        Don't know what to tell ya...install.sh worked fine for me. It looks like you are using the same version of the Sprint4gDev (1.6.1.2.2) so maybe try extracting this to a fresh directory and running install.sh right off the bat.

                        install.sh already does get rid of the CR/LFs (aka dos2unix) and patches source code. The patches are needed because at one point some kernel functions were deprecated (file_operations.ioctl()) and the unpatched beceem driver code will not compile. I will see if I can attach my 13.04 / 3.8.0-29-generic drvxi314.ko to this thread later tonight.

                        Comment


                          #42
                          I have attached my drxvi314.ko module.

                          Built on Ubuntu 13.04 under:

                          Linux hostname 3.8.0-29-generic #42-Ubuntu SMP Tue Aug 13 19:40:39 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

                          Code:
                          $ modinfo drxvi314
                          filename:       /lib/modules/3.8.0-29-generic/drxvi314.ko
                          license:        GPL
                          srcversion:     DDCD6B882544594F3C89900
                          depends:        
                          vermagic:       3.8.0-29-generic SMP mod_unload modversions
                          I have also just attached the (patched) driver source (minimum necessary) because personally I would be hesitant to install a driver from binary file, especially if it is distributed under GPLv2.

                          You should be able to extract the source, "make", and end up with drxvi314.ko. Throw that in /lib/modules/`uname -r` and then run depmod and you should be good to go.
                          Attached Files
                          Last edited by paperplate9; Aug 27, 2013, 09:45 PM.

                          Comment


                            #43
                            Thank you so much for your efforts and cooperation.
                            Unfortunately I am still on a 32 bit laptop. You are on 64.
                            insmod replies: Invalid format, of course.
                            Have briefly tried to compile from your source code. Errors all over because files. directories not found.
                            Need to take more time for this.

                            My own compilation with 'install.sh' also resulted in a number of error messages. I guess the patch still is not applied correctly. Tried to do it manually - lots of errors.
                            I am not sure about the syntax of the patch command to get it to work automatically.
                            What is the code you used, please?

                            Comment


                              #44
                              The source zip file provided is just the raw driver code plus the patches. Patching is just something like: patch -p0 < [patch_file]...but I've already provided the patched code.

                              But can you post your errors when attempting to compile the source zip I provided? I need to see what you are doing & what output you get.

                              Edit:
                              Make sure you have linux-headers installed and that /usr/src/linux points to that directory. Or just modify the Makefile in the drvxi314-source.zip and set KSRC to where the headers are (e.g, /usr/src/linux-headers-3.8.0-29-generic). Don't see what other errors you could be getting.
                              Last edited by paperplate9; Aug 28, 2013, 08:57 PM.

                              Comment


                                #45
                                Thanks again for the reply.
                                I just did a quick unzip of the raw driver code to a sub-directory of my home directory. Then make, which gave the errors because 'file(s) could not be found.
                                I assume because the unzipped code was not in the correct directory.

                                I will tackle this after I have erased a lot of sub-directories and files that accumulated during my wrestling match with the U600 modem. Need to do some cleaning and house keeping to avoid undue interference. I will also delete all instances of drxvi314.ko now on file in various places. The only drxvi314.ko should then be the one derived from your source code.

                                I will post the messages on pastebin again in order to keep some of the clutter out of this thread.
                                Judging by the number of views it is apparent that many people are encountering problems with Franklin U 600.

                                Comment

                                Working...
                                X