Regional Servers

URLs

As of 4/1/2014, ChipCode can redirect to a regional distribution center for quicker downloads.

Since space is limited on regional servers, they are populated with content for customers that operate in or nearest to those regional servers. We push code to a regional server as customer download activity is detected.

Locations

Qualcomm® Package Manager currently provides services from four data centers:

  • North America (San Diego)
  • Asia\Pacific (Taiwan)
  • China (Shanghai)
  • Europe (Amsterdam)

The system automatically detects which regional distribution center you are closest to (and allowed to use according to US export laws), and Qualcomm® Package Manager will redirect accordingly.

Non-serviceable Countries

The China regional server can only service China.

For other regional servers, there are certain countries they cannot service. Export laws prevent the following transfers listed below, so requests from these countries are always redirected to San Diego, even if there is a regional server that is closer

  • Amsterdam > Bulgaria
  • Amsterdam > France
  • Amsterdam > Poland

Changing established repositories to a new regional server manually

If you have already established a local repository prior to 09/19/2013, you can change the URL to point to the new one easily. To change your local Git repository to use the closest regional distribution center to you and not San Diego only, all you need to do is update the URL in the GIT configuration using the following command while you are in the repository directory on your local machine (each repository has its own configuration, so this change is not global):

git remote set-url origin https://chipcode.qti.qualcomm.com/home/git/repo_name

This is the only change you have to make. Make sure to specify the exact repository name as provided on the Qualcomm® Package Manager web site. You need to replace “” in the above example. You cannot copy the above and have it work. “” will be different depending on the repository you are working on.

Fallback to North America (San Diego)

When a Distro (or project) is being updated, or is not up to date, all requests are redirected back to San Diego automatically by design. This is to serve consistent data.

You can also manually change the URL format in your CLONE command to fall back to North America (San Diego). This is necessary if you are trying to clone a new release before mirroring to the closest regional server is completed. Qualcomm® Package Manager will automatically redirect to San Diego if the repository does not yet exist on the regional server you are redirected to. However, if the repository does exist, but does not yet have the latest release tag mirrored yet, you will have to manually fall back to the North America (San Diego) server if you require the code before mirroring has completed:

Use the following URL format to clone directly from San Diego, which replaces chipmaster2 (the regional redirector) with Qualcomm® Package Manager (the San Diego server)

git clone https://chipcode.qti.qualcomm.com/yourcompanyname/msm8960-la-2-31_amss_oem.git

Adding a San Diego Remote

You can set up another remote that goes directly to the San Diego server by using the following command structure to define the San Diego remote:

git remote add sandiego https://chipcode.qti.qualcomm.com/yourcompanyname/reponame.git

Followed by the following git pull command

git pull sandiego

This will allow you to run "git pull sandiego" to update against the San Diego servers instead of the regional server. This method is useful when you are waiting for the very moment the San Diego based target teams have shipped code.

.netrc File

With the new regional servers deployed, in order for authentication to work, users absolutely MUST set their .netrc (Linux) or _netrc (Windows) file to cover “chipcode.qti.qualcomm.com” server as the redirector to other regional servers. No additional machines need to be specified. “chipcode.qti.qualcomm.com” will redirect you to the closest regional server. Please follow these steps to ensure your .netrc file is updated so authentication will work.

Linux

Create the .netrc in your home directory, replacing USERNAME and PASSWORD with your Qualcomm® Package Manager credentials. (copy and paste). This is the content it should have...

machine qpm.qualcomm.com login USERNAME password PASSWORD machine chipmaster2.qti.qualcomm.com login USERNAME password PASSWORD Make sure it can be read...

chmod 600 ~/.netrc

Windows

Create the _netrc in your home directory, replacing USERNAME and PASSWORD with your Qualcomm® Package Manager credentials.

c:> notepad %HOME%/_netrca

Copy and paste the following into the file, replacing USERNAME and PASSWORD with your Qualcomm® Package Manager credentials.

machine qpm.qualcomm.com login USERNAME password PASSWORD
machine chipmaster2.qti.qualcomm.com login USERNAME password PASSWORD

How to spot trouble with your netrc file

Git will tell you if there is something wrong with your netrc file only when you run your Git commands in verbose mode (use -v in the git command). In verbose mode, if there is a problem with the netrc file, an error like what is seen below will be shown, letting you know that the host is not found in your .netrc file:

$ git clone http://somerepo.qualcomm.com/somecustomer_mdm9625-le-1-0-r9.git Cloning into ’https://chipcode.qti.qualcomm.com/projects/teamamerica_apq8094-la-1-7_amss_oem/repository'...

Couldn’t find host chipcode.qti.qualcomm.com in the .netrc file; using defaults