Friday, February 28, 2020

installing cisco anyconnect on centos 7 linux

I struggle every time I have to install cisco anyconnect vpn client on linux because you can't really download it unless you have a support contract. Since I'm a contractor, I need the program to communicate with multiple clients' networks. I'm sure I could track it down at one of my clients, but in a pinch I can usually find it to download from a university. Here are a couple of relevant excerpts about download and installation, copied in case the corresponding web page disappears.

===== (from UCI link)

Installing the VPN Client

Download the Anyconnect VPN client.

From the Terminal, navigate to the Downloads folder and unzip the file by typing [tar xzvf anyconnect-xxx.tar.gz]
NOTE: The *actual* file name will contain the name of the current version of the installer (e.g. anyconnect-linux64-4.5.03040-predeploy-k9.tar.gz)

A folder with the same name as the file will appear in the current directory. Open the folder and then go to the vpn directory, and once you are there type [./vpn_install.sh]

The VPN client will be installed on your system and the vpnagentd process will be started. This process will be started each time your system is booted.

NOTE: Ubuntu/Debian users should run this command to download a dependency for the VPN UI: [sudo apt-get install libpangox-1.0-0]

Starting the VPN Client

To start the client from the terminal, type [/opt/cisco/anyconnect/bin/vpnui]. Note: if you are not running a GUI, you can enter interactive mode by entering[/opt/cisco/anyconnect/bin/vpn]

NOTE: If you are using a desktop environment, you should be able to find the client in one of your menus as well (e.g. in a RHEL environment, look in Applications -> Internet).

In the “Connect to:” box, type vpn.uci.edu and press Return on your keyboard. Note: in interactive mode type [connect vpn.uci.edu]

In the “Group” menu that will appear, select the tunnel you wish to use, usually “UCI” or “UCIFull”. (See the differences in the Tunnels below.)

Enter your UCInetID and password in the appropriate boxes and click “Connect”.

You should get a banner box. When you do, click “Accept” and you are now connected.

=====

other links:

UA link

gatech link

particle accelerator machine protection

Just compiling some links and notes here for a new project I'm starting...

CERN paper

Monday, February 3, 2020

skype quit working on centos7 laptop

Not sure how it happened, but skype had been working well for weeks, but suddenly the program would no longer start. When I tried to run from the applications menu, I would just get a spinning wheel. Also running /usr/bin/skypeforlinux would fail but with no output. Oddly, /usr/bin/skypeforlinux is not a link, but the program is under /usr/share/skypeforlinux/skypeforlinux. When I ran that executable from the command line, I received an error message like this:

[28370:0203/134512.756947:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /usr/share/skypeforlinux/chrome-sandbox is owned by root and has mode 4755.

So I checked that it was owned by root, but the permissions were not correct so I used chmod to change to 4755, and now the program runs. I'm not sure what is the difference between /usr/bin/skypeforlinux and /usr/share/skypeforlinux/skypeforlinux, e.g., the latter gave an error message while the former failed silently. But now that the program is working, they both open the skype GUI. Strange.

Thursday, December 19, 2019

redhat 7 laptop getting ERR_NETWORK_CHANGED errors in chrome

For a long time, I've been getting and ignoring errors in Chrome on my centos 7 laptop about "ERR_NETWORK_CHANGED".  This often makes transactions in banking and shopping sites fail completely and causes me to switch to a different machine.  Last week I used the Southwest wifi while traveling, and constantly received messages about network disconnects while using google docs.  I'm hoping the problem is the same, but not sure.  It happens with both wired and wireless network connection.

Anyway, I spent some time investigating today.  I thought it was network disconnects, but after looking at lots of generic network troubleshooting info, I searched for the chrome error and found some interesting hits.

This link suggests that the problem is due to ipv6, and disabling it SEEMS to have also solved my problem though it remains to be seen.  But I did not see any details as to WHY ipv6 is a problem, just that it is.  I'm sure if I looked harder I'd find it.  Here is another link about how to disable ipv6, I disabled all 3 properties that it mentions, but I used "sysctl -w" to change the configuration instead of editing sysctl.conf.  The result should be the same.

I used the "watch" command as suggested in the first link to monitor the output of "ip address" and see that the ipv6 interface was occasionally flapping to "tentative".  I used "sysctl -w" to disable ipv6.  And then I used watch again to confirm that the ipv6 interfaces are gone and that the word tentative is no longer appearing in the "ip address" output.

Here are the commands that I found helpful:
watch -n 2 -b -d 'ip address'
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1
ip address | grep ipv6
watch -d 'ip address | fgrep tentative'
Finally, here is another link for general network troubleshooting that gives some helpful background.

Wednesday, December 18, 2019

wired ethernet adapter on docking station quit working from Dell XPS 15 laptop

One of the joys of using Windows is when things that have been working forever mysteriously quit working.  That was the case with my Dell XPS 15 laptop running Windows 10.  "All of the sudden" the wired ethernet port on the docking station quit working.  There was probably/possibly a Dell/Windows update in the interim that broke it but who knows.  It took me a while to figure out, but to solve the problem I used these instructions for manually fixing the docking station drivers from the dell website (expand the "Installing drivers" node).  I skipped some of the steps, but I updated the bios and thunderbolt controller driver from this link.  I updated the docking station firmware from this link.  At this point I received a message that a new thunderbolt device was detected which made me happy.

I downloaded the realtek USB GBE ethernet controller driver from the drivers page for the laptop, and first used it to remove the existing installation and then ran it again to reinstall.  At this point, I turned off the wireless and confirmed that the wired ethernet port was indeed working correctly.

Monday, December 9, 2019

handling primefaces datatable events

This article is a good tutorial for handling events for the primefaces datatable component,

update tag behavior for components nested in Primefaces dataTable

I discovered the hard way that update="someComponentId" does not work for a commandLink nested inside a datatable. After some searching I found that you must use the syntax 'update=":formId:componentId" to make the update work. E.g., the example below works, but if I change the commandLink update to update="#{viewName}MembersPanel", an error results:

                <p:dataTable id="#{viewName}MemberDataTable"
                             var="member"
                             value="#{wizardController.members}"
                             emptyMessage="No members added.">

                    <p:column headerText="Cable name">
                        <h:outputText value="#{member.name}" />
                    </p:column>

                    <p:column headerText="Action">
                        <p:commandLink  id="#{viewName}RemoveCommandLink"
                                        value="Remove"
                                        action="#{wizardController.removeMember(member)}"
                                        onstart="PF('loadingDialog').show()"
                                        oncomplete="PF('loadingDialog').hide();update#{rootViewId}WizardButtons();"
                                        update="@form:#{viewName}MembersPanel"
                                        process="@form:#{viewName}MembersPanel">
                        </p:commandLink>
                    </p:column>

                </p:dataTable>