diff --git a/.gitignore b/.gitignore index 87e8496..8779b93 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ .libs .dirstamp .version +/.pc Makefile Makefile.in auxdir/ diff --git a/.version b/.version new file mode 100644 index 0000000..4a36342 --- /dev/null +++ b/.version @@ -0,0 +1 @@ +3.0.0 diff --git a/Makefile.legacy b/Makefile.legacy index e26f0d2..b0455bc 100644 --- a/Makefile.legacy +++ b/Makefile.legacy @@ -86,7 +86,7 @@ install: all install-programs @echo "### DAHDI tools installed successfully." @echo "### If you have not done so before, install init scripts with:" @echo "###" - @echo "### make config" + @echo "### make install-config" @echo "###" @echo "###################################################" diff --git a/dahdi-bash-completion b/dahdi-bash-completion index d98074a..b93059a 100644 --- a/dahdi-bash-completion +++ b/dahdi-bash-completion @@ -48,7 +48,7 @@ __dahdi_span_types() { has_cmd=0 for (( i=0; i < COMP_CWORD; i++)); do case "${COMP_WORDS[$i]}" in - dumpconfig | list | set) + dumpconfig | list | set | compare) has_cmd=1 break ;; @@ -69,7 +69,7 @@ __dahdi_span_types() { grep -l '[EJT]1' /sys/devices/pci0000:00/0000:00:10.4/usb1/1-1/xbus-00/*/spantype 2>/dev/null | sed -e 's|/spantype||') ) else COMPREPLY=( ${COMPREPLY[@]} $(compgen -W \ - 'dumpconfig list set' -- $cur) ) + 'dumpconfig list set compare' -- $cur) ) fi ;; esac diff --git a/dahdi_span_assignments b/dahdi_span_assignments index bcafe89..9b4f305 100755 --- a/dahdi_span_assignments +++ b/dahdi_span_assignments @@ -66,6 +66,8 @@ usage() { echo >&2 " add - assign spans, according to /etc/dahdi/assigned-spans.conf" echo >&2 " remove - unassign spans" echo >&2 " list - human-readable list of all spans" + echo >&2 " matched - found spans matched in configuration" + echo >&2 " unmatched - found spans not matched in configuration" echo >&2 " dumpconfig - dump current state as new configuration" echo >&2 "" echo >&2 " options:" @@ -109,7 +111,7 @@ while true ; do break ;; *) - echo "Internal error!" + echo >&2 "Internal error!" exit 1 ;; esac @@ -215,10 +217,10 @@ unassign_all_spans() { sort | while read spandir; do local_spanno=`cat "$spandir/local_spanno"` if [ "$dry_run" = true ]; then - echo "(dry-run) unassign $device $local_spanno" + echo >&2 "(dry-run) unassign $device $local_spanno" continue fi - echo "unassign $device $local_spanno" + echo >&2 "unassign $device $local_spanno" if ! echo "$local_spanno" > "$device/unassign_span"; then echo >&2 "$0: failed unassigning '$local_spanno' in '$device'" fi @@ -245,12 +247,12 @@ assign_device_spans() { if [ -d "$span" ]; then span_local_spanno=`cat "$span/local_spanno"` if [ "$span_local_spanno" != "$local_spanno" ]; then - echo "WARNING: $span_local_spanno != $local_spanno" + echo >&2 "WARNING: $span_local_spanno != $local_spanno" fi - echo "$device [$local_spanno] already assigned to span $spanno. Skipping..." + echo >&2 "$device [$local_spanno] already assigned to span $spanno. Skipping..." continue fi - echo "assign $device: $s" + echo >&2 "assign $device: $s" if ! echo "$s" > "$device/assign_span"; then echo >&2 "$0: failed assigning '$s' to '$device'" fi @@ -267,21 +269,21 @@ match_device() { # We use case to enable shell-style globbing in configuration case "$hardware_id" in $id) - [ "$verbose" = true ] && echo "match by hwid ($id ~ $hardware_id): $spanspecs" + [ "$verbose" = true ] && echo >&2 "match by hwid ($id ~ $hardware_id): $spanspecs" assign_device_spans "$device" ;; esac # We use case to enable shell-style globbing in configuration case "$location" in $id) - [ "$verbose" = true ] && echo "match by location ($id ~ $location): $spanspecs" + [ "$verbose" = true ] && echo >&2 "match by location ($id ~ $location): $spanspecs" assign_device_spans "$device" ;; esac # We use case to enable shell-style globbing in configuration case "$devpath" in $id) - [ "$verbose" = true ] && echo "match by devpath ($id ~ $devpath): $spanspecs" + [ "$verbose" = true ] && echo >&2 "match by devpath ($id ~ $devpath): $spanspecs" assign_device_spans "$device" ;; esac @@ -293,7 +295,7 @@ assign_devices() { echo >&2 "$0: Missing '$DAHDISASSIGNEDSPANSCONF'" exit 1 fi - echo "using '$DAHDISASSIGNEDSPANSCONF'" + echo >&2 "using '$DAHDISASSIGNEDSPANSCONF'" for device in $DEVICES do match_device "$device" @@ -303,13 +305,71 @@ assign_devices() { auto_assign_devices() { for device in $DEVICES do - echo "auto-assign $device" + echo >&2 "auto-assign $device" if [ "$dry_run" != true ]; then echo 1 > "$device/auto_assign" fi done } +dev_match_conf() { + local devpath="$1" + local location="$2" + local hardware_id="$3" + local local_spanno="$4" + filter_conf | while read id spanspecs + do + spanno=`echo "$spanspecs" | cut -d: -f1` + match_dev=no + # We use case to enable shell-style globbing in configuration + case "$hardware_id" in + $id) + match_dev=yes + ;; + esac + # We use case to enable shell-style globbing in configuration + case "$location" in + $id) + match_dev=yes + ;; + esac + # We use case to enable shell-style globbing in configuration + case "$devpath" in + $id) + match_dev=yes + ;; + esac + if [ "$match_dev" = 'yes' -a "$local_spanno" = "$spanno" ]; then + #printf "%-8s (%s) %-14s %s %s\n" "$local_spanno" "$spanno" "[$hardware_id]" "$location" "$devpath" + echo "[$hardware_id]:$local_spanno" + fi + done +} + +list_devices() { + wanted="$1" + if [ ! -f "$DAHDISASSIGNEDSPANSCONF" ]; then + echo >&2 "$0: Missing '$DAHDISASSIGNEDSPANSCONF'" + exit 1 + fi + echo >&2 "using '$DAHDISASSIGNEDSPANSCONF'" + for device in $DEVICES + do + devpath=`cd "$device" && pwd -P` + location='@'`attr_clean "$device/location"` + hardware_id=`attr_clean "$device/hardware_id"` + for local_spanno in `cut -d: -f1 "$device/spantype"` + do + found=`dev_match_conf "$devpath" "$location" "$hardware_id" "$local_spanno"` + if [ "$wanted" = "unmatched" ]; then + [ -z "$found" ] && echo "[$hardware_id]:$local_spanno" + else + [ -z "$found" ] || echo "[$hardware_id]:$local_spanno" + fi + done + done +} + case "$action" in auto) auto_assign_devices @@ -326,6 +386,12 @@ list) dumpconfig) dump_config ;; +matched) + list_devices "matched" + ;; +unmatched) + list_devices "unmatched" + ;; *) echo >&2 "Bad action='$action'" usage diff --git a/dahdi_span_types b/dahdi_span_types index 4154772..5fce110 100755 --- a/dahdi_span_types +++ b/dahdi_span_types @@ -69,6 +69,7 @@ usage() { echo >&2 "Usage: $0 [options] action [devpath ...]" echo >&2 " action:" echo >&2 " set - set spans to E1/T1 according to /etc/dahdi/span-types.conf" + echo >&2 " compare - show config values that differ from system" echo >&2 " list - human-readable list of all spans" echo >&2 " dumpconfig - dump current state in /etc/dahdi/span-types.conf format" echo >&2 "" @@ -88,6 +89,8 @@ if [ $? != 0 ]; then usage fi +compare=false + # Note the quotes around `$TEMP': they are essential! eval set -- "$TEMP" @@ -321,13 +324,26 @@ handle_span() { echo >&2 "Set $devname span $spanno = $val" fi if [ "$dry_run" != 'true' ]; then - echo "$spanno:$val" > "$attr_file" + if [ "$compare" = 'true' ]; then + config="$spanno:$val" + system=`grep "$spanno:" "$attr_file"` + if [ "$config" != "$system" ]; then + + active_val=`echo $system | cut -d: -f2` + echo "$devname $spanno $val $active_val" >>"$compare_results_file" + fi + else + echo "$spanno:$val" > "$attr_file" + fi fi fi done } set_all_devices() { + span_differs='false' + SPANS_DIFFER='false' + if [ ! -f "$DAHDISPANTYPESCONF" ]; then echo >&2 "$0: Missing configuration '$DAHDISPANTYPESCONF'" exit 1 @@ -348,6 +364,16 @@ set_all_devices() { esac done done + if [ "$compare" = 'true' ]; then + if [ -s "$compare_results_file" ]; then + echo "# Device Unit Config Active" + cat "$compare_results_file" + rm -f "$compare_results_file" + exit 5 + fi + rm -f "$compare_results_file" + exit 0 + fi } case "$action" in @@ -360,6 +386,11 @@ dumpconfig) set) set_all_devices ;; +compare) + compare=true + compare_results_file=`mktemp` + set_all_devices + ;; *) usage ;; diff --git a/dahdi_test.c b/dahdi_test.c index d07a1f6..ca1bc0e 100644 --- a/dahdi_test.c +++ b/dahdi_test.c @@ -64,7 +64,7 @@ void hup_handler(int sig) printf("\n--- Results after %d passes ---\n", pass); printf("Best: %.3f%% -- Worst: %.3f%% -- Average: %f%%\n", best, worst, pass ? total/pass : 100.00); - printf("Cummulative Accuracy (not per pass): %0.3f\n", + printf("Cumulative Accuracy (not per pass): %0.3f\n", pass ? accuracy : 0.0); exit(0); } diff --git a/doc/dahdi_span_types.8 b/doc/dahdi_span_types.8 index 4aba1a9..2bdd9ed 100644 --- a/doc/dahdi_span_types.8 +++ b/doc/dahdi_span_types.8 @@ -4,7 +4,7 @@ dahdi_span_types \- set line modes of DAHDI spans before assignment .SH SYNOPSIS -.B dahdi_span_types [\fIoptions\fB] \fB[\fIdevpath \fB...] +.B dahdi_span_types [\fIoptions\fB] \fB[\fIdevpath \fB...] .SH DESCRIPTION The span type (the line mode: E1/T1/J1) must be set to a span before @@ -58,6 +58,16 @@ device(s) specified in the command line (or all devices, if none specified). .RE +.B compare +.RS +Compare the settings on the system to those in the configuration file. +For each line that applies to a device on the system, print it if the +value to be set and the active value on the system differ. + +The exit status is 0 if there is no difference and non-zero if a +difference was detected. +.RE + .B list .RS List line modes for all spans in the system which may be set with diff --git a/doc/dahdi_tool.8 b/doc/dahdi_tool.8 index 2777366..4b6aeab 100644 --- a/doc/dahdi_tool.8 +++ b/doc/dahdi_tool.8 @@ -7,7 +7,7 @@ dahdi_tool \- Shows status of DAHDI interfaces .B dahdi_tool .SH DESCRIPTION -dahdi_tool shows the current status the DAHDI inteface cards plugged +dahdi_tool shows the current status the DAHDI interface cards plugged to the computer. It displays values like Current Alarms, SyncSource, Tx/Rx diff --git a/doc/fxotune.8 b/doc/fxotune.8 index d3257fc..a9de558 100644 --- a/doc/fxotune.8 +++ b/doc/fxotune.8 @@ -33,7 +33,7 @@ is generated in the current directory. fxotune just reads the settings from fxotune.conf into the FXO modules. You are advised to run fxotune on all FXO ports you have that support -it and that are connected. Note that the tunning is affected by e.g. +it and that are connected. Note that the tuning is affected by e.g. the physical parameters of the connection, and thus if it has been radically changed, you may need to re-run fxotune. @@ -44,7 +44,7 @@ cards and clones) do not have the hardware to support such tuning. The tuning process needs a clear line to do the tuning. In order to do that, it runs in cycles of the following: sets the line off-hook, dials a dial string (which should set the PSTN provider waiting for the next -digit), and then starts tuning. It has a limited ammount of time for +digit), and then starts tuning. It has a limited amount of time for tuning before the PSTN gives up and gives a busy tone. So after a while it hangs up and starts a new cycle. @@ -180,7 +180,7 @@ so if you stop it half-way, you may get a half-configured system. If you have already tuned your FXO channels and wish to test-run fxotune again, you are advised to backup /etc/fxotune.conf . -The default for \-m is 18 seconds. This asusmes that you get a clear line +The default for \-m is 18 seconds. This assumes that you get a clear line for at least 18 seconds. It is advised that you test that timeout earlier by connecting a phone to the FXO line, dialing 4 (or whatever dial string you put with \-n) and see how much time of silence you have. diff --git a/hotplug/dahdi_auto_assign_compat b/hotplug/dahdi_auto_assign_compat index 96f90dd..23fa5a8 100755 --- a/hotplug/dahdi_auto_assign_compat +++ b/hotplug/dahdi_auto_assign_compat @@ -22,4 +22,9 @@ devices_by_registration_time | \ done # Now handle Astribanks -LC_ALL=C dahdi_registration -Rv on +unmatched="`dahdi_span_assignments unmatched`" +if [ -n "$unmatched" ]; then + # Only if astribanks are not matched in span-assignments.conf + # TODO: have dahdi_registration run only on "$unmatched" + LC_ALL=C dahdi_registration -Rv on +fi diff --git a/hotplug/handle_device.d/30-xpp-sync b/hotplug/handle_device.d/30-xpp-sync new file mode 100755 index 0000000..005c4b0 --- /dev/null +++ b/hotplug/handle_device.d/30-xpp-sync @@ -0,0 +1,18 @@ +#! /bin/sh + +# Run xpp_sync whenever an Astribank is connected. + +# May be set in /etc/dahdi/init.conf +XPP_SYNC=${XPP_SYNC:-auto} + +case "$ACTION" in +add) ;; +*) exit 0 ;; +esac + +case "${DEVPATH##*/}" in +astribanks:*) ;; +*) exit 0 ;; +esac + +xpp_sync "$XPP_SYNC" diff --git a/xpp/50-dahdi.conf b/xpp/50-dahdi.conf new file mode 100644 index 0000000..a0a5ce8 --- /dev/null +++ b/xpp/50-dahdi.conf @@ -0,0 +1,5 @@ +# A dracut.conf(5) snippet +# Disable loading the Astribank (xpp_usb) drivers. This is because +# it relies on files in the root filesystem: +# See https://issues.asterisk.org/jira/browse/DAHLIN-352 +omit_drivers+=" xpp_usb " diff --git a/xpp/Makefile.am b/xpp/Makefile.am index 05f1b1c..56ce64e 100644 --- a/xpp/Makefile.am +++ b/xpp/Makefile.am @@ -62,6 +62,9 @@ dist_sbin_SCRIPTS = $(perl_scripts) man_MANS += $(perl_mans) CLEANFILES = $(perl_checks) $(perl_mans) +dracutconfdir = @prefix@/lib/dracut/dracut.conf.d +dracutconf_DATA = 50-dahdi.conf + if PBX_USB SUBDIRS += oct612x xtalk diff --git a/xpp/README.Astribank b/xpp/README.Astribank index 2e0001f..32cb5e7 100644 --- a/xpp/README.Astribank +++ b/xpp/README.Astribank @@ -47,9 +47,9 @@ Apart from the standard DAHDI build requirements, you also need: * *libusb development headers* to build the Astribank firmware tools (astribank_tool, astribank_hexload, astribank_allow). - This is typically the package libusb-dev on Debian (and derivatives - like Ubuntu) or libusb-devel on RedHat (and derivatives like - CentOS/Trixbox). + This is typically the package libusb-1.0-0-dev on Debian (and + derivatives such as Ubuntu) or libusbx-devel on RedHat (and derivatives + such as CentOS). * *Echo Canceller Module firmware*: If you have an Astribank with an echo canceller module, see the following section. @@ -1257,8 +1257,8 @@ Astribanks Synchronization Source If there is more than one Astribank on the system, all the Astribanks keep their clock in sync. Optionally the Astribanks can synchronize their clock to the master DAHDI device (in case it is a different DAHDI -device). Normally you just use the default init.d script or run -explicitly: +device). Normally it would be run automatically from the udev hooks +run on device plug (handle_device), but you can also run it explicitly: xpp_sync auto @@ -1488,6 +1488,9 @@ other side. current. That is: which ones are connected to an active FXS on the other side. +===== /sys/bus/astribanks/devices/xbus-NN/NN:M:P/hwid +Prints .. Both are small numbers. + ===== /sys/bus/astribanks/devices/xbus-NN/NN:M:P/offhook Shows ports that are (1) or are not (0) off-hook. When a channel is not off-hook. For BRI and E1/T1 the value is 1 if the span is in use. diff --git a/xpp/astribank_hexload.8 b/xpp/astribank_hexload.8 index 27913ff..dd6c433 100644 --- a/xpp/astribank_hexload.8 +++ b/xpp/astribank_hexload.8 @@ -117,7 +117,7 @@ Examples: 1:T1,2:T1,*:E1 \- First and second ports are T1, the rest are E1. .RE -If the \fB\-S\fR is not given, the PRI default is determined by the existance of the \fB\-A-fR option. +If the \fB\-S\fR is not given, the PRI default is determined by the existence of the \fB\-A-fR option. .RE .SH SEE ALSO diff --git a/xpp/astribank_hook b/xpp/astribank_hook index fdfa82a..3b5a6fb 100755 --- a/xpp/astribank_hook +++ b/xpp/astribank_hook @@ -94,22 +94,27 @@ wait_for_udev() { UDEV_SETTLE_MAX_TIME=10 echo "Waiting for udev to settle down..." - if [ -x /sbin/udevsettle ]; then - # Old system, stand-alone udevsettle command - /sbin/udevsettle --timeout="$UDEV_SETTLE_MAX_TIME" + udevsettle_cmd= + if [ -x /bin/udevadm ]; then + udevsettle_cmd="/bin/udevadm settle" elif [ -x /sbin/udevadm ]; then - # Assume modern system, udevadm has settle parameter - if ! /sbin/udevadm settle --timeout="$UDEV_SETTLE_MAX_TIME" - then - echo "udevadm failed ($?)." - echo "Fallback to sleep $UDEV_SETTLE_MAX_TIME seconds." - sleep "$UDEV_SETTLE_MAX_TIME" - fi + udevsettle_cmd="/sbin/udevadm settle" + elif [ -x /sbin/udevsettle ]; then + udevsettle_cmd="/sbin/udevsettle" else echo "No udevsettle/udevadm." echo "Fallback to sleep $UDEV_SETTLE_MAX_TIME seconds." sleep "$UDEV_SETTLE_MAX_TIME" + return fi + + if ! $udevsettle_cmd --timeout="$UDEV_SETTLE_MAX_TIME" + then + echo "udevadm failed ($?)." + echo "Fallback to sleep $UDEV_SETTLE_MAX_TIME seconds." + sleep "$UDEV_SETTLE_MAX_TIME" + fi + sleep 1 # Wait a bit more (races) } diff --git a/xpp/astribank_is_starting.8 b/xpp/astribank_is_starting.8 index 5ad0be1..dcf27c4 100644 --- a/xpp/astribank_is_starting.8 +++ b/xpp/astribank_is_starting.8 @@ -83,7 +83,7 @@ Q: Why do you use a semaphore? A: because, unlike the filesystem, it is writable at any given time. .SH BUGS -Option ordering matter. The \fB\-v\fR and \fB\-d\fR options should preceed +Option ordering matter. The \fB\-v\fR and \fB\-d\fR options should precede the actions (\fB\-a\fR, \fB\-r\fR and \fB\-w\fR). The \fB\-t\fItimeout\fR option should preceed the \fB\-w\fR option. diff --git a/xpp/astribank_tool.c b/xpp/astribank_tool.c index 7be04fb..59d096f 100644 --- a/xpp/astribank_tool.c +++ b/xpp/astribank_tool.c @@ -72,7 +72,7 @@ static int reset_kind(const char *arg) if(strcasecmp(reset_kinds[i].name, arg) == 0) return reset_kinds[i].type_code; } - ERR("Uknown reset kind '%s'\n", arg); + ERR("Unknown reset kind '%s'\n", arg); return -1; } @@ -157,9 +157,9 @@ int main(int argc, char *argv[]) ERR("Bad reset kind '%s'\n", opt_reset); return 1; } - DBG("Reseting (%s)\n", opt_reset); + DBG("Resetting (%s)\n", opt_reset); if((ret = mpp_reset(mpp, full_reset)) < 0) { - ERR("%s Reseting astribank failed: %d\n", + ERR("%s Resetting astribank failed: %d\n", (full_reset) ? "Full" : "Half", ret); } goto out; diff --git a/xpp/dahdi_registration b/xpp/dahdi_registration index 2772e00..29e180f 100755 --- a/xpp/dahdi_registration +++ b/xpp/dahdi_registration @@ -109,9 +109,15 @@ foreach my $xbus (Dahdi::Xpp::xbuses($sorter)) { system @cmd; warn "Failed '@cmd' (status=$?)\n" if $?; } + } +} +if (defined($on) && $on) { + if ($opts{'R'} || ! $default_auto_assign) { # wait for UDEV to do its stuff system "dahdi_waitfor_span_assignments assigned"; } +} +foreach my $xbus (Dahdi::Xpp::xbuses($sorter)) { foreach my $xpd (Dahdi::Xpp::Xpd::telephony_devs($xbus->xpds())) { my $spanno = $xpd->xpd_getattr('span'); myprintf "\t%-10s: ", $xpd->fqn; diff --git a/xpp/xpp_fxloader b/xpp/xpp_fxloader index 5135ebf..8ef8453 100644 --- a/xpp/xpp_fxloader +++ b/xpp/xpp_fxloader @@ -349,7 +349,7 @@ load_fw_device() { echo "WARNING: ECHO burning was skipped (no capabilities)" fi fi - pic_files=`echo "$FIRMWARE_DIR"/PIC_TYPE_[1-4].hex` + pic_files=`echo "$FIRMWARE_DIR"/PIC_TYPE_[1-46].hex` debug "PIC burning into $dev: begin $pic_files" run_astribank_hexload -D "$dev" -p $pic_files debug "PIC burning into $dev: end $pic_files" @@ -443,7 +443,7 @@ fpga_firmware_all_devices() { reset_fpga() { devices=`filter_devs 'e4e4/11[3456][124]/*'` totaldevs=`numdevs 'e4e4/11[3456][124]/*'` - echo >&2 -- "Reseting devices [$totaldevs devices]" + echo >&2 -- "Resetting devices [$totaldevs devices]" echo "$devices" | grep -v '^$' | while read id_str dev do ( diff --git a/xpp/xpp_sync b/xpp/xpp_sync index 1d84b8b..5726a9b 100755 --- a/xpp/xpp_sync +++ b/xpp/xpp_sync @@ -64,7 +64,7 @@ sub do_select(@) { foreach my $xpd (@_) { my $xbus = $xpd->xbus; my $busnum = $xbus->name; - die "Uknown bus name" unless $busnum; + die "Unknown bus name" unless $busnum; $busnum =~ s/XBUS-//; die "bad bus name" unless $busnum =~ /^\d+$/; #printf "Setting sync: %-10s (%s)\n", $xpd->fqn, $xpd->type; diff --git a/xpp/xtalk/Makefile.am b/xpp/xtalk/Makefile.am index 3cbdaa2..39b03e9 100644 --- a/xpp/xtalk/Makefile.am +++ b/xpp/xtalk/Makefile.am @@ -21,8 +21,7 @@ USB_NAME = libusb endif endif -noinst_PROGRAMS = xlist_test xusb_test xusb_test_bypath xtalk_test xtalk_raw_test -sbin_PROGRAMS = xtalk_send +noinst_PROGRAMS = xlist_test xusb_test xusb_test_bypath xtalk_test xtalk_raw_test xtalk_send noinst_LTLIBRARIES = libxtalk.la dist_noinst_HEADERS = \ xtalk_base.h \ @@ -39,8 +38,6 @@ dist_noinst_HEADERS = \ include/xtalk/xtalk_iface.h \ # -man_MANS = xtalk_send.8 - libxtalk_la_CFLAGS = \ $(COMMON_CFLAGS) \ -I$(srcdir)/include \ diff --git a/xpp/xtalk/xtalk_sync.c b/xpp/xtalk/xtalk_sync.c index c0be8fd..18a5cad 100644 --- a/xpp/xtalk/xtalk_sync.c +++ b/xpp/xtalk/xtalk_sync.c @@ -183,7 +183,7 @@ int process_command( } DBG("REPLY OP: 0x%X [%s]\n", reply->header.op, reply_desc->name); if (reply->header.op == XTALK_ACK) { - int status = CMD_FIELD(reply, XTALK, ACK, stat); + uint8_t status = CMD_FIELD(reply, XTALK, ACK, stat); if (expected) { ERR("Expected OP=0x%02X: Got ACK(%d): %s\n", diff --git a/xpp/xtalk/xusb_common.c b/xpp/xtalk/xusb_common.c index e5d4bbd..cb8c6fa 100644 --- a/xpp/xtalk/xusb_common.c +++ b/xpp/xtalk/xusb_common.c @@ -215,7 +215,7 @@ int xusb_filter_bypath(const struct xusb_device *xusb_device, void *data) assert(path != NULL); p = path_tail(path); if (strcmp(xusb_device->devpath_tail, p) != 0) { - DBG("%s: device path missmatch (!= '%s')\n", + DBG("%s: device path mismatch (!= '%s')\n", xusb_device->devpath_tail, p); return 0; }