diff --git a/src/sw_sup/afws_client.md b/src/sw_sup/afws_client.md index 7e426fc..856b65d 100644 --- a/src/sw_sup/afws_client.md +++ b/src/sw_sup/afws_client.md @@ -6,21 +6,21 @@ This article is intended to help with using the `afws_client` command properly. ### What is AFWS -AFWS (Artiq FirmWare Service) - a service, that allows building customer tailored firmware and gateware (binaries) on M-Labs's servers, +AFWS (ARTIQ FirmWare Service) - a service, that allows building customer tailored firmware and gateware (binaries) on M-Labs's servers, and receive these binaries in ready-to-flash format. Subscription to this service also includes helpdesk support, and thus is paid on yearly basis (contact sales for prices). It is also typically included when purchasing Carrier (Kasli/Kasli-SoC) for a year, or one-time when purchasing standalone cards for existing crate. Each variant/carrier requires its own subscription. ### What do I need for obtaining binaries -You'll need to have credentials - username and password, which you can obtain from helpdesk. +You'll need to have credentials - username and password, which you can obtain from helpdesk, if you haven't yet. Don't forget to specify variant (sticker on top of the crate) that you need to obtain binaries for. ### When do I need to update In most cases there is no need to update the firmware, unless you encountered a bug and the fix was backported to your version. However, if you: changed the layout of the cards - either moved EEM connections, added or deleted cards; -changed modes/configurations of the cards (e.g. enable/disable SUServo, synchronization, edge counter, sed lanes etc.). +changed modes/configurations of the cards (e.g. enable/disable SUServo, synchronization, edge counter, SED lanes etc.). In such cases, these changes need to be authorized through helpdesk. ### How to @@ -33,22 +33,31 @@ afws_client build Where (remove `<` and `>`): * `` - your username from credentials * `` - the directory/folder, into which you wish to save the binaries -* `` - name of the crate/variant +* `` - name of the crate/variant. It's optional if you have only one variant in the account After running this command, it will ask you for the password (the line will remain blank for security reasons). If everything matches (username and password are correct, specified variant is in your account and not expired), -AFWS will start building the firmware, which takes 10-15 minutes. Sometimes there might be problems with the configuration -or AFWS service itself, in which cases you'll need to notify helpdesk. +AFWS will start building the firmware, which takes 10-15 minutes. Sometimes there might be some problems, in which +case don't hesitate to contact helpdesk. After the build done, the AFWS client will automatically download the binaries into ``, from which you can flash them into your Carrier. +#### View build logs + +You may want to view the build logs (for example, in case of problems with configuration). +For this, add `--log` option after build: + +```shell +afws_client build --log +``` + #### Specify version By default, AFWS client tries to figure out the installed ARTIQ version. However it works only for Kasli, and not Kasli-SoC. It also may fail to determine ARTIQ version if you are using AFWS client without ARTIQ installation. Additionally, you may want to specify version regardless of installed version. -In all these cases, you'll need to specify both `--major-ver` and `--rev` arguments, so your command will look like this: +In all these cases, you'll need to specify **both** `--major-ver` and `--rev` arguments, so your command will look like this: ```shell afws_client build --major-ver --rev @@ -72,8 +81,7 @@ The branches currently map as following: * ARTIQ-9 - master * ARTIQ-10 - nac3 -By some unfortunate technology/design choices, you need to specify both `--major-ver` and `--rev`. -From other side, you may be sure that the binaries you receive are "pure" - if the inputs are the same (same version, +The binaries you receive are "pure" - if the inputs are the same (same version, same JSON), the system outputs exactly the same binaries, and if you did it recently, they will be obtained from Nix cache (e.g. not rebuilt). @@ -108,7 +116,8 @@ It will ask for password and output the variants and their respective expiry dat #### Get JSONs Sometimes you may want to view the JSON description, from which AFWS is building the variant. With the JSON, you can -later build the firmware by yourself and/or generate device_db file. The command looks like this: +later build the firmware by yourself and/or generate device_db file. The command looks like this (variant +needs to be valid, i.e. not expired and authorized in your account): ```shell afws_client get_json [-o ] [-f]